Я пытаюсь скопировать несколько несмежных столбцов из отфильтрованной таблицы на другой лист. Я застрял в части множественного выбора:
* Данные взяты из внешнего источника -> Я не могу контролировать исходную структуру
* Фильтрующие материалы из столбцов, которые мне не нужно копировать -> Яне могу пропустить импорт столбцов, которые мне не нужно копировать.
* Таблица отфильтрована -> Я не могу просто выбрать столбец (например, C: C), мне нужны только отфильтрованные строки.
Возможно ли это сделать с помощью имен заголовков?
Я пробовал несколько строк кода (см. Ниже), но ни одна из них не дала желаемых результатов. Если я записываю макрос, я просто получаю выбор диапазона:
Range ("C155: C30230, E155: E30230"). Выберите
Это то, что ядо сих пор пробовал, сгруппированы по результатам:
Обратите внимание, что это тестовый код, поэтому он не обязательно ссылается на те же столбцы -> Работа, но не совсем то, что я хочу:
' this is only one column
Range("myTable[[#Headers],[Email]]").Select
' this is full (unfiltered) column selection
Union(ws.Range("C:C"), ws.Range("E:E")).Select<br>
' this is not using header name
Union(ActiveSheet.ListObjects("myTable").ListColumns(3).Range, ActiveSheet.ListObjects("myTable").ListColumns(5).Range).Select
-> Эти фрагменты генерируют ошибку времени выполнения "Метод 'Диапазон' объекта
'_Worksheet' не удалось":
Union(Range("myTable[[#Headers],[Email]]").Select, Range("myTable[[#Headers],[Language]]").Select)
Dim rng As Range
Set rng = Union(Range("myTable[[#Headers],[Email]]"), Range("myTable[[#Headers],[Language]]"))
Union(Range("myTable[[#Headers],[Email]]"), Range("myTable[[#Headers],[Language]]")).Select
Union(Range("myTable[[#Headers],[Email]]"), Range("A:A")).Select
-> Ошибка генерирования этого фрагмента«Ошибка компиляции: несоответствие типов»:
Dim rng As Range
Set rng = Union(Range("myTable[[#Headers],[Email]]").Address, Range("myTable[[#Headers],[Language]]").Address)
Моя цель на этом этапе - просмотреть все выбранные столбцы фильтрованной таблицы.
Спасибо за просмотр этого