我正在尝试找出最快的Loop方法,以将10倍范围的列(“ A16:J1338”)从源工作簿复制到特定工作簿的特定列(C1)。我想要该宏将数据粘贴到最后一个可用的空白单元格下面(在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”)之间有空白行,我希望宏忽略空白并在最后可用的空白单元格下循环进行复制粘贴。
我将非常感谢您对此提供的任何帮助。
您的FAR .Select
命令太多,您可以告诉excel没有它们的地方写数据。此外,鉴于名称太长,需要整理工作,因此需要将工作簿和工作表设置为变量。
然后您可以通过基本的方法摆脱选择wsTo.Range("B1").Resize(1, Range.Columns.Count).value = wsFr.Range("A16:J1338").value
这只是概念性的,您需要创建范围,工作表和工作簿变量。另外,关闭计算和屏幕更新将大有帮助。
我将https://www.youtube.com/watch?v=GCSF5tq7pZ0称为多合一软件包,以加快您的宏程序的大小。