Excel - 행에서 열로 데이터를 전송하는 매크로
발행물
데이터는 이제 아래 형식으로되어 있습니다.1 2 39 15 16 20 25
1
이 형식으로 와야합니다.
12
삼
9
15 명
16
20
25 명
1
해결책
가정 :- 1. 데이터는 행 1에서 시작하여 항상 A 열에 복사됩니다
- 2. 데이터에 왜곡없이 행을 삽입 할 수 있습니다.
Sub TransposeSpecial ()시트의 긴 '최대 행만큼 희미한 lMaxRows
Dim lThisRow As Long '행 처리 중
Dim iMaxCol As Integer '처리중인 행에서 최대 사용 된 열
lMaxRows = 셀 (Rows.Count, "A"). End (xlUp) .Row
lThisRow = 1 '행부터 시작
lThisRow <lMaxRows 동안 수행
iMaxCol = 셀 (lThisRow, Columns.Count) .End (xlToLeft) .Column
If (iMaxCol> 1) Then
행 (lThisRow + 1 & ":"& lThisRow + iMaxCol - 1). 삽입
범위 (셀 (lThisRow, 2), 셀 (lThisRow, iMaxCol)).
범위 ( "A"& lThisRow + 1). 선택
Selection.PasteSpecial 붙여 넣기 : = xlPasteAll, 작업 : = xlNone, SkipBlanks : = 거짓, Transpose : = True
범위 (셀 (lThisRow, 2), 셀 (lThisRow, iMaxCol)). 지우기
lThisRow = lThisRow + iMaxCol - 1
lMaxRows = 셀 (Rows.Count, "A"). End (xlUp) .Row
끝면
lThisRow = 1ThisRow + 1
고리
End Sub