Получить использованный диапазон отфильтрованного ListObject - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь скопировать видимые ячейки отфильтрованной таблицы на другой лист.

Я получаю сообщение об ошибке, что Range.Address является недопустимым квалификатором, хотя я прочитал, именно так вы должны обращаться к диапазону объектов списка.

Sub TestRun()
    Dim strng As Range
    Dim lo_b1 As ListObject

    Set lo_b1 = x_bf1.ListObjects(1)
    Set strng = ThisWorkbook.Names("co_st").RefersToRange

    lo_b1.Range.Address.SpecialCells(xlCellTypeVisible).Copy strng

End Sub

1 Ответ

0 голосов
/ 28 мая 2019

Вот маленький пример.Начиная с объекта ListObject в Sheet1:

enter image description here

Это позволит применить фильтр и скопировать видимые строки в другом месте:

Sub KopyTab()
    Dim rng As Range

    Set rng = ActiveSheet.ListObjects("Table1").Range

    rng.AutoFilter Field:=1, Criteria1:="mike"
    rng.Cells.SpecialCells(xlCellTypeVisible).Copy Sheets("Sheet2").Range("A1")

End Sub

.результат:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...