Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 优化VBA代码并删除工作簿。激活并范围。选择?_Excel_Vba - Fatal编程技术网

Excel 优化VBA代码并删除工作簿。激活并范围。选择?

Excel 优化VBA代码并删除工作簿。激活并范围。选择?,excel,vba,Excel,Vba,我有一个宏,它将代码从一个工作簿复制到另一个工作簿。我的代码很长,如果可能的话,我想缩短它(也可以稍微独立于宏记录器) 我的代码如下所示: Workbooks("export.XLSX").Activate Range("A2:A" & Range("A" & Rows.Count).End(xlUp).row).Copy Workbooks("ORDERS.CSV").Activate Range("X3").Select Selection.End(xlDown).Offse

我有一个宏,它将代码从一个工作簿复制到另一个工作簿。我的代码很长,如果可能的话,我想缩短它(也可以稍微独立于宏记录器)

我的代码如下所示:

Workbooks("export.XLSX").Activate
Range("A2:A" & Range("A" & Rows.Count).End(xlUp).row).Copy
Workbooks("ORDERS.CSV").Activate
Range("X3").Select
Selection.End(xlDown).Offset(1, -18).Select
ActiveSheet.Paste
Workbooks("export.XLSX").Activate
此块对不同的列重复自身。有没有办法缩短这个时间

更多示例:

Range("C2:C" & Range("A" & Rows.Count).End(xlUp).row).Copy 
Workbooks("ORDERS.CSV").Activate 
Range("X3").Select Selection.End(xlDown).Offset(1, -14).Select 
ActiveSheet.Paste 
Workbooks("export.XLSX").Activate 
Range("G2:G" & Range("A" & Rows.Count).End(xlUp).row).Copy 
Workbooks("ORDERS.CSV").Activate 
Range("X3").Select Selection.End(xlDown).Offset(1, -13).Select 
ActiveSheet.Paste 
Workbooks("export.XLSX").Activate
首先添加

然后遵循同样的模式
Application.screenUpdatement=True

我们需要查看更多代码示例,然后才能推荐改进。请参阅作为开始…上面添加了更多示例
Workbooks("export.XLSX").Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row).Copy
Workbooks("ORDERS.CSV").Range("X3").End(xlDown).Offset(1, -18).Select.PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False