0
我有一個宏將代碼從一個工作簿複製到另一個工作簿。我的代碼是很長,我想縮短它如果可能的話(也可從宏記錄多一點獨立)優化VBA代碼並擺脫Workbook.activate和range.select?
我的代碼如下所示:
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
我們需要看到你的代碼的更多例子之前,我們可以建議改進。 – Dai
查看[本問答](http://stackoverflow.com/questions/10714251/excel-macro-avoiding-using-select)作爲開始... –
更多上面添加的例子 – heikomania