VBA循环可将特定列的范围多次复制并粘贴到另一个工作簿

我正在尝试找出最快的 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”)之间有空白行,我希望宏忽略空白并在最后可用的空白单元格下循环复制粘贴。

我将非常感谢您对此提供的任何帮助。

hudaichen0603 回答:VBA循环可将特定列的范围多次复制并粘贴到另一个工作簿

您的FAR .Select命令太多,您可以告诉excel没有它们的地方写数据。另外,您需要将工作簿和工作表设置为变量,因为那里的名称太长了,需要整理。

然后,您可以使用基本的设置摆脱选择 wsTo.Range("B1").Resize(1,Range.Columns.Count).value = wsFr.Range("A16:J1338").value 这只是概念性的,您需要创建范围,工作表和工作簿变量。此外,关闭计算和屏幕更新将大有帮助。

我会引用https://www.youtube.com/watch?v=GCSF5tq7pZ0作为一个整体包来加快您的宏的大小。

本文链接:https://www.f2er.com/3134625.html

大家都在问