2012-10-07 5 views
0

저는이 사이트에 처음 왔으므로 Excel에서 vba를 사용하는 것이 처음입니다. Sheet1에서 Sheet2로 약 91 행의 데이터를 복사해야합니다. 그러나 sheet1의 마지막 행은 sheet2의 첫 번째 행이어야합니다. 그런 다음 sheet1의 90 번째 행이 sheet2의 두 번째 행이되도록하는 등의 방법으로 sheet1의 첫 번째 행이 sheet2의 마지막 행이 될 때까지 아무도 매크로를 사용하여 동일한 작업을 수행 할 수있는 해결책을 알려 주실 수 있습니까?sheet1의 마지막 행은 sheet2의 첫 번째 행이어야합니다. 시트 2의 마지막 두 번째 줄은 시트 2의 두 번째 줄이됩니다.

답변

0

범위를 따라이 같은 코드가 당신을 도울 수 :

Sheet1.Range("a1").End(xlDown).Copy Sheet2.Range("a1") 
0

당신은 아래의 코드를 시도 할 수 있습니다. 나는 행 A에 열 머리글이 포함되어 있고 나머지는 데이터 인 간단한 데이터 세트를 사용했습니다. 이 행에 얼마나 많은 행 (End(xlDown) 부분)을 결정하기 위해 행 A의 데이터를 사용하므로 해당 열에 공백이없는 경우에만 작동합니다. 데이터를 Sheet2으로 붙여 넣습니다. A2에서 시작합니다 (다시 헤더가 있다고 가정). 헤더가 필요하지 않으면 그에 따라 조정할 수 있습니다.

Sub CopyStuff() 

Dim MyRange As Range 
Dim MySheet As Worksheet 

' Declare your variables (adjust MyRange to what you want) 
' I used some test data where row A contained headers 
' and the data followed 
Set CurSheet = ActiveWorkbook.ActiveSheet 
Set DestSheet = ActiveWorkbook.Sheets("Sheet2") 
Set MyRange = CurSheet.Range("A2:E" & Range("A1").End(xlDown).Row) 

' Set the number of rows in your range, minus the headers 
RowCount = MyRange.Rows.Count - 1 

' Iterate through the rows, pasting in reverse 
' This starts pasting at A2, assuming headers are in A1 
For i = 1 To RowCount 
    MyRange.Rows(RowCount + 2 - i).Copy DestSheet.Range("A" & i + 1) 
Next i 

End Sub 
0

시트 1 데이터를 시트 2로 복사하십시오. 추가 열을 추가하여 '번호 (#)'라고 말하고 행 1에서 끝까지 번호를 매기십시오. 그런 다음 'Number (#)'열에 필터를 추가하고 내림차순으로 정렬하십시오. 희망이 도움이됩니다!

관련 문제