2016-12-07 3 views
0

1 개의 워크 시트에있는 특정 열을 두 번째 열에 지정된 열로 전송해야한다는 내용의 아래 수식이 있습니다. 그러나 아무 일도 일어나지 않습니다. 정말 도움이 되겠습니까!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)에 한 줄을 칼럼 난을 복사 할 가정 해 봅시다 :

은 값을 복사하기 :

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

모든 내용을 복사하려면

worksheets("A").columns(i).Copy 
worksheets("B").columns(j).PasteSpecial xlPasteAll 
관련 문제