2016-10-11 3 views
1

열을 행으로 조 변경해야합니다. 그 코드가 작동한다는 것을 알았지 만, 내가 원하는 바를 정확하게 수행하지 못하고있다.Excel VBA : 열을 행에 조인

이 내 파일 내가 코드를 실행하기 전에 모습입니다 :

이 내 파일 내가 코드를 실행 한 후 모습입니다 File Before

: 내가 원하는

File After

을 열의 맨 위 셀이있는 행에 내 결과가 표시됩니다. 이 경우, 두 번째 그림에서 볼 수 있듯이 열이 첫 번째 행으로 점프하는 대신 다섯 번째 행으로 옮겨야합니다.

Private Sub CommandButton1_Click() 
Dim rng As Range 
Dim I As Long 

    Set rng = Range("B5") 
    While rng.Value <> "" 
     I = I + 1 
     rng.Resize(60).Copy 
     Range("C" & I).PasteSpecial Transpose:=True 
     Set rng = rng.Offset(60) 

    Wend 
    rng.EntireColumn.Delete 
End Sub 

답변

0

한 가지 방법 :

'// source column range 
Set rng = Range("B5", Range("B5").End(xlDown)) 

'// resize from destination cell, transpose 
Range("B5").Resize(rng.Columns.Count, rng.Rows.Count).Value = WorksheetFunction.Transpose(rng) 

'// clear transposed values 
'// offset by 1 to preserve B5 
rng.Offset(1, 0).Clear 
+0

감사

이 내 코드입니다! 멋지게 일했다. – Ridwan