2016-12-07 9 views
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 
+0

ワークシートを参照するメソッドを選択し、それに固執する必要があります。シートコード名とシートタブ名を変更すると、コードがあまり読み難くなります。たとえば、 'Sheet1'と' Worksheets( "Sheet1")は同じシートです。 ...「Subscriber」はどのシートを参照していますか...その変数に何かを割り当てる場所には 'Set'ステートメントは表示されません。あなたはもう少し詳細を提供する必要があります... PLZ。 – jwdasdk

+0

(a) 'Worksheets(" Sheet1 ")'は通常は動作しません - あなたは 'Worksheets(" Sheet1 ")'を使用していなければなりません。 (b)「何も起こっていない」とはどういう意味ですか? (c)コードをステップ実行すると、 'For i = 2 To lastrow'ループに入るかどうか、またはスキップします(つまり、' lastrow'は2未満です)。 – YowE3K

答えて

1

のは、あなたがあなたのためにこれを行うことができますワークシートBに列jにワークシートAに一つの行を列Iをコピーしたいとしましょう:

は値のみをコピーするには:

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

すべてコピーする:

worksheets("A").columns(i).Copy 
worksheets("B").columns(j).PasteSpecial xlPasteAll 
関連する問題