我有一些代码可以根据第一个条件自动过滤工作表,如果没有返回条件则自动过滤第二个条件。 条件语句是我需要帮助的地方,即使第二行的第一个单元格中有数据,它仍会出错(我显然不想包含标题):
With ActiveSheet
.AutoFilterMode = False
With .Range("A1:F1")
.AutoFilter Field:=1, Criteria1:="FirstTest"
'See if first cell in second row is blank
If (.Offset(2,1).SpecialCells(xlCellTypeVisible).Value = "") Then
'if blank, change criteria
.AutoFilter Field:=1, Criteria1:="SecondTest"
End If
End With
End With
我知道您可以将VBA.Array用于多个条件,但这会变得更复杂,我现在只需要引用第二行中的可见数据。
提前感谢您的任何帮助。
答案 0 :(得分:3)
试试这个:
With ActiveSheet
.AutoFilterMode = False
With .Range("A1:F1")
.AutoFilter Field:=1, Criteria1:="FirstTest"
'See if first cell in second row is blank
If (.Parent.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Count < 2) Then
'if blank, change criteria
.AutoFilter Field:=1, Criteria1:="SecondTest"
End If
End With
End With