Excel VBA получает значение диапазона из видимых ячеек после применения автофильтра

Разве нельзя сделать что-то простое, чтобы получить значение диапазона B2?

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

Я применил автофильтр для фильтрации по заданным критериям и попытался вернуть диапазон B2 как функцию.


person De De De De    schedule 30.10.2014    source источник
comment
что такое крдата? Если B2 виден, не могли бы вы опустить часть со специальными ячейками?   -  person ZAT    schedule 30.10.2014


Ответы (1)


Установите .SpecialCells(xlCellTypeVisible) в диапазон, затем используйте Cells(row, column) в этом диапазоне, чтобы выбрать требуемое значение. Если вы используете заголовки в результате, вам также может понадобиться использовать Offset(1,0) для адресации ваших данных. Итак, где «MySheet» был определен как объект Worksheet, например:

Set rsltRng = MySheet.Autofilter.Range.SpecialCells(xlCellTypeVisible)
msgbox rsltRng.cells(2,2)
person barryleajo    schedule 30.10.2014