vba - AutoFilter - 找出第二行可见单元格是否为空白

标签 vba excel

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

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

预先感谢您的任何帮助。

最佳答案

尝试这个:

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

关于vba - AutoFilter - 找出第二行可见单元格是否为空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8982686/

相关文章:

vba - 如何将Word 2013中格式化的段落复制到Excel?

c++ - 如何在 VBA/Excel 中创建一个字符串数组并将其发送到 C++ DLL 以便它可以在 DLL 中迭代

excel - 跨多个工作簿对同一单元格求和

sharepoint - 有没有比迭代 Workbooks.Open() 更快的方法从工作簿中收集数据?

php - 将数据库数据导入现有的 Excel 文档选项卡

Outlook 中的 VBA 获取电子邮件对话的 "replied"或 "forwarded"状态?

python - Xlwings 将 Excel 范围保存为 Python 列表

sql - 无法在使用 Access db 的 VBA Excel 查询中使用变量作为列名

Excel - 单独计算单个单元格中的字母和数字

Excel VBA - 检查工作簿中是否存在特定工作表和命名单元格的函数