Всем доброго времени суток, пытаюсь по чуть чуть изучать азы VBA, но знаний нет практически. Поэтому обращаюсь к форумчанам за помощью. Есть вот такой макрос:
Скрытый текст
Sub Выделить_И_Скопировать() Application.ScreenUpdating = False ' Отключаем обновление экрана Cells.AutoFilter ActiveWindow.FreezePanes = False Selection.EntireColumn.Hidden = False Selection.EntireRow.Hidden = False NomStolbca = Cells(1, Columns.Count).End(xlToLeft).Column - 18 ' определяем номер столбца 18 - разница между последним заполненным столбцом строке 1 и нужным для копирования BukvaStolbca = Split(Cells(1, NomStolbca).Address, "$")(1) 'определяем буквенное название столбца Range("B5:" & BukvaStolbca & Cells(Rows.Count, 1).End(xlUp).Row).Select 'выделяем полученный диапазон Selection.Copy ' копируем в буфер обмена выделенный диапазон Application.ScreenUpdating = 1 ' включаем обновление экрана End Sub
Суть его в том что бы он убирал все фильтры на листе, показывал скрытые столбцы и строки (если таковые есть) и копировал нужный мне диапазон.. Загвоздка сейчас в том если есть скрытые строки или столбцы макрос нужно дважды вызвать, что бы отобразились скрытые данные...Подскажите как изменить макрос.. Данный макрос запускаться будет из персональной книги макросов (надеюсь правильно обозвал ее). Всем спасибо за будущую помощь.
Добрый день. На мой взгляд, это происходит потому, что при первом запуске у вас Selection (выделение) размером в лучшем случае в 1 ячейку. Внутри этого Selection - нет скрытых столбцов и скрытых строк, поэтому инструкции по их отображению
Пытливый, вот я и хочу заставить это делать машину... но так как в макросах я не Бум-бум... поэтапно пытаюсь то что я руками делаю делать не руками). Пока дошел до того что скопировал и перешел в книгу в которую нужно вставить..)
Nordheim, да думаю можно, но уже другую тему нужно создавать так как там предварительно нужно проверить количество вставляемых строк по условию с теми что уже есть... вообщем поэтому поэтапно.. но Вам Пытливый, и Nordheim, большое спасибо.