如何分析过滤范围内第一个单元格的值?特殊单元格



我很难检查过滤列中标题下方的第一个单元格中是否有 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"

相关内容

最新更新