Страницы: 1
RSS
Выделить (скопировать) одну ячейку в отфильтрованном DataBodyRange умной таблицы
 
Подскажите, как скопировать одну ячейку (не столбец, не строку) в умной таблице, к которой применили метод AutoFilter?
Задача после применения фильтра, если таблица не пустая, скопировать все строки в другую таблицу (сделано) и из 1, 2 и 3-й ячеек 1-й строки видимой части DataBodyRange взять значения для копирования в ячейки на другой лист.
Всё перепробовал. Мой код либо извлекает конкретную ячейку из таблицы (которая скрыта), либо выдаёт несусветицу в виде двух выделений - тела и шапки.
Диапазон выделял например так Sheet1.Range("D2:H" & LR1).SpecialCells(xlCellTypeVisible).Copy - тело копирует, а конкретную ячейку видимой части никак взять не могу

tbl.DataBodyRange(2, 1).SpecialCells(xlCellTypeVisible).Copy  - создаёт два выделения - шапку и тело, при этом строки выделены по всему листу, чехарда в общем.  
 
?Выделить ячейку во второй строке первом столбце видимого диапазона
Код
iTbl.DataBodyRange.SpecialCells(xlCellTypeVisible)(2, 1).Select

Цитата
скопировать ... из 1, 2 и 3-й ячеек 1-й строки видимой части DataBodyRange...в ячейки на другой лист
Код
iTbl.DataBodyRange.SpecialCells(xlCellTypeVisible)(1, 1).Resize(, 3).Copy Worksheets("Другой_лист").Range("A1")

The VBA Guide To ListObject Excel Tables
Согласие есть продукт при полном непротивлении сторон
 
Спасибо огромное,  то что нужно. Некие "костыли" в мозгу уже конечно нарисовались, как "обхитрить" программу, на случай если никто не откликнется, но Ваш вариант - самое то.    
Страницы: 1
Читают тему
Наверх