Excel VBA在应用自动筛选器后从可见单元格中获取范围值

是不是可以做这样简单的事情来获得B2的范围值?

crdata.Range("B2").SpecialCells(xlCellTypeVisible).Value 

我已经应用自动filter过滤出给定的标准,并试图返回作为一个函数B2的范围。

.SpecialCells(xlCellTypeVisible)为一个范围,然后使用此范围上的Cells(row, column)来挑选出您需要的值。 如果您在结果中使用标题,那么您可能还必须使用Offset(1,0)来处理您的数据。 所以在'MySheet'被定义为Worksheet对象的地方,像下面这样:

 Set rsltRng = MySheet.Autofilter.Range.SpecialCells(xlCellTypeVisible) msgbox rsltRng.cells(2,2)