0
1つのワークシートにある特定の列を2番目のワークシートで指定した列に転送する必要があることを示す以下の式があります。しかし、何も起こっていません。本当に助けていただければ幸いです!VBAを使用して1つのExcelシートから別のExcelシートに特定の列をコピーする
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
ワークシートを参照するメソッドを選択し、それに固執する必要があります。シートコード名とシートタブ名を変更すると、コードがあまり読み難くなります。たとえば、 'Sheet1'と' Worksheets( "Sheet1")は同じシートです。 ...「Subscriber」はどのシートを参照していますか...その変数に何かを割り当てる場所には 'Set'ステートメントは表示されません。あなたはもう少し詳細を提供する必要があります... PLZ。 – jwdasdk
(a) 'Worksheets(" Sheet1 ")'は通常は動作しません - あなたは 'Worksheets(" Sheet1 ")'を使用していなければなりません。 (b)「何も起こっていない」とはどういう意味ですか? (c)コードをステップ実行すると、 'For i = 2 To lastrow'ループに入るかどうか、またはスキップします(つまり、' lastrow'は2未満です)。 – YowE3K