我正在尝试我的第一段代码和VBA,并且已经研究了一段时间,但我无法让它工作。我试图隐藏多列的值为0(具有公式/数值的那些)或那些留空(文本)的行。在我的Excel中,第9-1000行的O,AB,AN列包含数值和AJ和AK 9-1000文本值。所以我想隐藏O,AB和AN为零的所有那些并且AJ和AK是空白的。我可以根据第一个标准编写基本代码隐藏行:
Sub HideAccounts()
Dim TotExp As Range
Dim Cell As Range
Set TotExp = Range("O9:O1000")
Application.ScreenUpdating = False
For Each Cell In TotExp.Rows
If Cell.Value = 0 Then
Cell.EntireRow.Hidden = True
Else
Cell.EntireRow.Hidden = False
End If
Application.ScreenUpdating = True
Next Cell
End Sub
所以现在我想添加其他标准,但我正在努力解决多个标准,当我尝试插入GoTo语句时,它也不起作用......
非常感谢任何帮助!!
谢谢, 丹妮拉
答案 0 :(得分:0)
以下是包含多个条件的一种方法:
Option Explicit
Public Sub HideAccounts()
Dim i As Long, hide As Boolean
Application.ScreenUpdating = False
With ThisWorkbook.Sheets(1) '<-- set this to the relevant sheet
For i = 9 To 1000
hide = (.Range("O" & i).Value2 = 0)
hide = hide And (.Range("AB" & i).Value2 = 0)
hide = hide And (.Range("AN" & i).Value2 = 0)
hide = hide And (Len(.Range("AJ" & i).Value2) = 0)
hide = hide And (Len(.Range("AK" & i).Value2) = 0)
.Rows(i).EntireRow.Hidden = hide
Next
End With
Application.ScreenUpdating = True
End Sub