Необходимо перенести столбцы A, B, Н из листа1, начиная с 4 строки, в лист "Реестр", начиная со 2 строки, в следующем порядке A, Н, B.
Нужно скопировать значения и форматы, формулы не нужно копировать.
Лист "Реестр" создаётся макросом и заранее в нём нет возможности вручную сделать нужные настройки.
[вложение удалено администратором]
Макрос
Sub Макрос()
Dim sh_src As Worksheet, sh_res As Worksheet
Dim lr As Long
' Отключение монитора. Это может ускорить макрос.
' Если много формул, то можно ещё отключить формулы.
Application.ScreenUpdating = False
' Присваиваем листам, с которыми надо работать, имена. Может быть так будет удобнее
' писать и читать код.
Set sh_src = Worksheets("Лист1")
Set sh_res = Worksheets("Реестр")
' Поиск последней строки на листе-источнике по столбцу A.
' End не ищет в скрытых строках.
lr = sh_src.Cells(sh_src.Rows.Count, "A").End(xlUp).Row
' Копирование столбцов.
sh_src.Range("A4:A" & lr).Copy
sh_res.Range("A2").PasteSpecial xlPasteValues
sh_res.Range("A2").PasteSpecial xlPasteFormats
sh_src.Range("H4:H" & lr).Copy
sh_res.Range("B2").PasteSpecial xlPasteValues
sh_res.Range("B2").PasteSpecial xlPasteFormats
sh_src.Range("B4:B" & lr).Copy
sh_res.Range("C2").PasteSpecial xlPasteValues
sh_res.Range("C2").PasteSpecial xlPasteFormats
Application.CutCopyMode = False
' Включение монитора.
Application.ScreenUpdating = True
' Сообщение.
MsgBox "Готово.", vbInformation
End Sub
Спасибо!
Все работает.
Добрый день.
Отличный макрос по копированию и вставке определённых столбцов, работает очень быстро, главное сам код очень простой.
Возможна ли корректировка данного макроса, необходимо скопировать ряд столбцов, как пример столбцы G, A, D, F (столбцы указаны вперемешку, так как мои исходные данные организованы так, что в первую очередь я возьму данные именно из этих столбцов и вставлю их на другой лист, именно в таком порядке), если при условии того, что в столбце "S" будет найдено слово "срочный"? Как правильно организовать цикл (возможно в этом нет смысла) и/или взять данные в массив на больших объёмах данных +100К строк?