使用VBA将1 Excel表格中的特定列复制到另一列

我有下面这个公式,它应该将我有1工作表的具体列转移到我在第二个指定的列。 但是,什么都没有发生。 会真的很感激一些帮助!

Sub copycolumns() Dim lastrow As Long, erow As Long lastrow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To lastrow Sheet1.Cells(i, 2).Copy airow = Sheet2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row Sheet1.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 1) Subscriber.Cells(i, 1).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 2) Subscriber.Cells(i, 3).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 3) Subscriber.Cells(i, 4).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 4) Subscriber.Cells(i, 5).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 5) Subscriber.Cells(i, 6).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 6) Subscriber.Cells(i, 11).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 25) Subscriber.Cells(i, 12).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 26) Subscriber.Cells(i, 13).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 27) Subscriber.Cells(i, 14).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 28) Subscriber.Cells(i, 16).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 19) Subscriber.Cells(i, 17).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 7) Subscriber.Cells(i, 18).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 9) Subscriber.Cells(i, 19).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 13) Subscriber.Cells(i, 20).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 14) Subscriber.Cells(i, 23).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 15) Subscriber.Cells(i, 24).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 16) Subscriber.Cells(i, 25).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 10) Subscriber.Cells(i, 26).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 11) Subscriber.Cells(i, 27).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 12) Subscriber.Cells(i, 29).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 31) Subscriber.Cells(i, 30).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 17) Subscriber.Cells(i, 31).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 22) Subscriber.Cells(i, 32).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 23) Subscriber.Cells(i, 33).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 18) Subscriber.Cells(i, 33).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 32) Subscriber.Cells(i, 38).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 24) Subscriber.Cells(i, 42).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 29) Subscriber.Cells(i, 44).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 30) Subscriber.Cells(i, 46).Copy Subscriber.Paste Destination:=Worksheets(“Sheet1”).Cells(airow, 3) Next i Application.CutCopyMode = False Range(“A1”).Select End Sub 

假设您想将工作表A中的第i列复制到工作表B中的第j列。一行可以为您做到这一点:

仅复制值:

 worksheets("B").columns(j).value=worksheets("A").columns(i).value 

复制一切:

 worksheets("A").columns(i).Copy worksheets("B").columns(j).PasteSpecial xlPasteAll