получить все скрытые строки в Excel

Есть ли способ получить массив всех строк в VBA, а затем скопировать их на новый лист?

Я предполагаю, что правильным свойством является rows(index).Hidden, но я не уверен, как его использовать.

Есть ли простой способ? Моя проблема в основном в том, что я не могу затемнить что-то как строки.


person soandos    schedule 14.06.2011    source источник


Ответы (1)


Чтобы выбрать видимые строки:

Sheets("yourSheet").Rows.SpecialCells(xlVisible).Copy
Sheets("secondSheet").Range("A1").PasteSpecial xlPasteValues

но на самом деле вы можете Dim что-то как Rows, потому что свойство Rows возвращает Range, поэтому вы просто Dim свою переменную как Range.

Если вы хотите очистить буфер обмена после этого, используйте:

Application.CutCopyMode=False

Также обратите внимание, что копирование и вставка в Excel неэффективны.
Если возможно, вам следует назначить один диапазон другому.

person Lance Roberts    schedule 14.06.2011
comment
Он возвращает объект, не поддерживающий это свойство или метод. - person soandos; 15.06.2011
comment
@soandos, я тестировал его как в 2003, так и в 2010 году, поэтому я не уверен, что вы делаете. - person Lance Roberts; 15.06.2011
comment
Извините, я забыл скопировать вашу вторую строку и установить первую равную листу, извините - person soandos; 15.06.2011
comment
есть ли способ вставить специальные значения? - person soandos; 15.06.2011