我很难检查过滤列中标题下方的第一个单元格中是否有 LT。 我相信特殊单元格放置不正确。
标题行 = wb。工作表("工作表 1"(。自动筛选范围(1(.排
FiltRng = wb.Sheets("Sheet1").Range(HeaderRow + 1).SpecialCells(xlCellTypeVisible).value
If FiltRng Like "*LT*" Then
MsgBox "It has LT"
我能找到的唯一方法是检查第一个非标题行是否可见:
- 如果是这样,请从那里获取单元格
- 如果没有,请从可见的特殊单元格中获取下一个区域
- 如果只有一个这样的区域,那就是标题行,这意味着自动筛选与任何内容都不匹配,因此所有内容都被隐藏了。
.
With wb.Sheets("Sheet1").AutoFilter.Range
If Not .Rows(2).Hidden Then
FiltRng = .Cells(2, 1).Value2
ElseIf .SpecialCells(xlCellTypeVisible).Areas.count > 1 Then
FiltRng = .SpecialCells(xlCellTypeVisible).Areas(2).Cells(1, 1).Value2
Else
MsgBox "no Cells found"
End If
If FiltRng Like "*LT*" Then MsgBox "It has LT"