[英]Copy multiple columns and paste to another workbook in different order
初學者的問題在這里。 這是我一直在努力的代碼
Private Sub Copy()
Dim wb1 As Workbook
Dim wb2 As Workbook
Set wb1 = ThisWorkbook
(wb2 defined somewhere here)
With wb1.Sheets(1)
.Columns("A").Copy Destination = wb2.Sheets(2).Range("A1")
.Columns("B").Copy Destination = wb2.Sheets(2).Range("C1")
.Columns("C").Copy Destination = wb2.Sheets(2).Range("R1")
....
End With
End Sub
我想知道是否有較短的編寫方式? 謝謝。
編輯:似乎此代碼不起作用。 是因為我不能在兩個不同的工作簿之間使用Copy方法嗎?
您可以創建一個函數/子程序,因此不必復制每一行的完整行,也應該將wb2.Sheets(2).Range("A1")
更改為wb2.Sheets(2).Columns("A")
函數/子可能看起來像這樣:
sub CopyColumn (Og_col as String, New_col as string)
Dim wb1 As Workbook
Dim wb2 As Workbook
Set wb1 = ThisWorkbook
'set wb2 = some other workbook
wb1.Sheets(1).Columns(Og_col).Copy Destination = wb2.Sheets(2).Columns(New_col)
End Sub
然后在原始代碼中進行更改:
.Columns("A").Copy Destination = wb2.Sheets(2).Range("A1")
.Columns("B").Copy Destination = wb2.Sheets(2).Range("C1")
.Columns("C").Copy Destination = wb2.Sheets(2).Range("R1")
....
至:
Call CopyColumn("A", "A")
Call CopyColumn("B", "C")
Call CopyColumn("C", "R")
....
如果您有很多列,這應該是更好的代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.