Цикл VBA для многократного копирования и вставки диапазона определенных столбцов в другую книгу - PullRequest
0 голосов
/ 09 ноября 2019

Я пытаюсь выяснить самый быстрый метод Loop для копирования диапазона столбцов («A16: J1338») из исходной рабочей книги в определенный столбец (C1) конкретной рабочей книги. 10раз. Я хотел бы, чтобы этот макрос вставил данные ниже последней доступной пустой ячейки (под COL C)

Вот мой код;

Sub copy_Loop()
Dim LastRow As Long
Range("A16:J1338").Select
Selection.Copy
Workbooks.Open "C:\Users\Manzurfa\Desktop\1. Forecast Amalgamation.xlsx"
Range("C1").Select
ActiveSheet.Paste
Windows("Merrell CA Forecast Template - Alain Travers.xlsm").Activate
Range("K18:O1338").Select
Selection.Copy
Windows("1. Forecast Amalgamation.xlsx").Activate
Range("K3").Select
 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Windows("Merrell CA Forecast Template - Alain Travers.xlsm").Activate
Range("A16:J1338").Select
Selection.Copy
 Windows("1. Forecast Amalgamation.xlsx").Activate     
Range("B1").Select
Selection.End(xlDown).Select
ActivCell.Offset(0, 1).Select
Selection.End(xlUp).Select
ActivCell.Offset(1, 0).Select
ActiveSheet.Paste

ActiveWorkbook.Save
End Sub

Столбцы («A16: J1338») имеютпустые строки между ними, и я хотел бы, чтобы макрос пропустил пробелы и сделал цикл копирования-вставки под последней доступной пустой ячейкой

Буду очень признателен за любую помощь в этом.

1 Ответ

0 голосов
/ 10 ноября 2019

У вас слишком много команд .Select в FAR, вы можете указать Excel, куда записывать данные без них. Кроме того, вам нужно установить рабочие книги и рабочие листы как переменные, учитывая, что их имена невероятно длинные, что приводит в порядок вещи.

Затем вы можете избавиться от выбора с помощью базового wsTo.Range("B1").Resize(1, Range.Columns.Count).value = wsFr.Range("A16:J1338").value Это просто концептуально, вам нужно будет создать переменные диапазона, рабочей таблицы и рабочей книги. Также отключение вычислений и обновление экрана будут иметь большое значение.

Я бы назвал https://www.youtube.com/watch?v=GCSF5tq7pZ0 как пакет "все в одном" для ускорения ваших макросов, больших или маленьких.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...