AutoFilter - 查明第二行可见单元格是否为空白

时间:2012-01-24 06:08:26

标签: excel vba excel-vba

我有一些代码可以根据第一个条件自动过滤工作表,如果没有返回条件则自动过滤第二个条件。 条件语句是我需要帮助的地方,即使第二行的第一个单元格中有数据,它仍会出错(我显然不想包含标题):

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用于多个条件,但这会变得更复杂,我现在只需要引用第二行中的可见数据。

提前感谢您的任何帮助。

1 个答案:

答案 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