从过滤后的单元格中选择值 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
我有一个宏,它通过 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