簡體   English   中英

使用VBA將特定的列從1個Excel工作表復制到另一個

[英]Copying specific columns from 1 excel sheet to another using VBA

我在下面有一個公式,指出它應該將我在1個工作表中擁有的特定列轉移到我在第2個工作表中指定的列。 但是,沒有任何反應。 非常感謝您的幫助!

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM