excel - VBA隐藏具有多个条件的行
问题描述
如果(将使用第 148-149 行作为示例),我需要帮助来隐藏行:
如果 Either J OR P 148 的值 >0 并且 J AND P 149 =0 THEN 149 应该隐藏。
如果 J 或 P 149 >0 那么 148 和 149 都应该显示
如果 J OR P 148 AND J OR P 149 中的值 >0 >0,则显示 148 AND 149
Sub Skjul_0_Storkundeaftale()
Dim beginRow As Long, endRow As Long, CheckCol_1 As Long, rngHide As Range
beginRow = 148 'first row'
endRow = 176 'last row'
CheckCol_1 = 10 'column number --> O'
For rowNum = beginRow To endRow
If Cells(rowNum, CheckCol_1).Value <= 0 And Cells(rowNum + 1, CheckCol_1).Value = "" Then
Cells(rowNum, CheckCol_1).EntireRow.Hidden = True
End If
Next rowNum
End Sub
解决方案
这是一个新代码。也许不是最好的编码,但它确实有用:)
Sub Skjul_0_Storkundeaftale()
beginRow = 148 'first row'
endRow = 176 'last row'
CheckCol_1 = 4 'column number --> Gulvarme
CheckCol_2 = 10 'First column
CheckCol_3 = 16 'Second column
For rowNum = beginRow To endRow
If Cells(rowNum, CheckCol_1).Value <> "" And Cells(rowNum + 1, CheckCol_2).Value = 0 And Cells(rowNum + 1, CheckCol_3).Value = 0 Then
Cells(rowNum + 1, CheckCol_1).EntireRow.Hidden = True
End If
Next rowNum
For rowNum = beginRow To endRow
If Cells(rowNum, CheckCol_1).Value <> "" And Cells(rowNum, CheckCol_2).Value = 0 And Cells(rowNum, CheckCol_3).Value = 0 _
And Cells(rowNum + 1, CheckCol_2).Value = 0 And Cells(rowNum + 1, CheckCol_3).Value = 0 Then
Cells(rowNum, CheckCol_1).EntireRow.Hidden = True
End If
Next rowNum
End Sub
推荐阅读
- c++ - C++/OpenSSL 将 PEM 加载到 STACK_OF(X509)
- reactjs - 传递给解析器不是有效的 GraphQL DocumentNode。您可能需要使用“graphql-tag”或其他方法将您的操作转换为文档
- ms-access - 访问子报表比较记录
- c# - 使用 AjaxToolKit:PopUpExtender 在 asp.net Web 应用程序中没有出现弹出窗口
- node.js - 无法在 Windows 上使用 nvm 安装节点
- mysql - 数据库设计布局
- reactjs - 将值从灯箱传递给父母
- node.js - forEach 中的 Promise
- python-3.x - Python:用 pip3 安装了一个本地包,但没有找到模块错误
- c# - 启动 ConfigureServices AddMvc() 中的 KeyNotFoundException