我目前正在尝试使用VBA和自动过滤来查询数据集(根据Populate Excel Data Validation Drop-Down From Data Range Condition Using VBA)
但是我无法使用VBA来引用自动过滤器结果。
如何在不需要复制和粘贴的情况下收集结果? (例如,将结果存储为变量)
如何查看已找到的结果数,并在自动过滤器没有产生结果时触发msg框?
感谢您的帮助
答案 0 :(得分:0)
您可以使用特殊参数xlCellTypeVisible和SpecialCells。
Sub Test()
Dim SheetERP As Worksheet
Set SheetERP = Worksheets("MyDatas") 'Sheet with data
Dim myTabela As Excel.ListObject
Set myTabela = SheetERP.ListObjects("CodeData") 'Named Table range
Dim qtd As Integer 'To count filtered data rows (only visible)
qtd = SheetERP.ListObjects("CodeData").DataBodyRange.Columns(1).SpecialCells(xlCellTypeVisible).Count
'OR
qtd = myTabela.DataBodyRange.Columns(1).SpecialCells(xlCellTypeVisible).Count
MsgBox qtd
Dim TFiltro As Range
Set TFiltro = SheetERP.UsedRange.SpecialCells(xlCellTypeVisible)
'OR
Set TFiltro = myTabela.DataBodyRange.SpecialCells(xlCellTypeVisible)
'Do what you want with TFiltro
End Sub