将列从一个工作表复制到另一个工作表

0 excel vba excel-vba

这个宏工作正常,但我知道它效率不高,必须有更好的方法来做到这一点.我怎么能避免到.Select表格?

Sub ReportFormatter()

Columns("BS:BS").Select
Selection.Copy
Sheets("Sheet2").Select
Range("A1").Select
ActiveSheet.Paste

Sheets("Sheet1").Select
Columns("X:X").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet2").Select
Range("B1").Select
ActiveSheet.Paste

Sheets("Sheet1").Select
Columns("Y:Y").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet2").Select
Range("C1").Select
ActiveSheet.Paste

Sheets("Sheet1").Select
Columns("H:H").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet2").Select
Range("D1").Select
ActiveSheet.Paste
Run Code Online (Sandbox Code Playgroud)

Abe*_*old 5

Sub CopyCols()
    Sheets("Sheet1").Columns("X:X").Copy Destination:=Sheets("Sheet2").Range("B1")
    Sheets("Sheet1").Columns("Y:Y").Copy Destination:=Sheets("Sheet2").Range("C1")
    Sheets("Sheet1").Columns("H:H").Copy Destination:=Sheets("Sheet2").Range("D1")
End Sub
Run Code Online (Sandbox Code Playgroud)