从过滤后的单元格中选择值 Table

Selecting Cell Value from Filtered Table

我有一个宏,它通过 Table 并从 Col 5 中挑选出我想要的值 ("ref"),然后在其余代码中使用。

Dim Lobj As ListObject

Set Lobj = SourceBk.Sheets("RefSheet2_x").ListObjects("Table1")

For x = 1 To Lobj.DataBodyRange.Rows.Count

   Ref = Lobj.DataBodyRange(x, 5)

Next x

我需要的是能够 运行 代码,以便在过滤 Table 时它只对可见行起作用(通常过滤器将在第 2 列,但可能包括过滤器在其他列上)。我当前的代码忽略了我应用的任何过滤并在整个 Table.

上工作

感谢任何帮助!

您想检查整行的 Hidden 属性。类似的东西:

Public Sub Answer()
    Dim Lobj As ListObject
    Dim Ref As Variant
    Dim x As Long

    Set Lobj = SourceBk.Sheets("RefSheet2_x").ListObjects("Table1")

    With Lobj
        For x = 1 To .DataBodyRange.Rows.Count
            If Not .DataBodyRange.Rows(x).EntireRow.Hidden Then
                Ref = .DataBodyRange(x, 5).Value
                '...
            End If
        Next
    End With
End Sub