
나는 이것을 달성하기 위해 VBA에 대한 경험이 충분하지 않습니다. 다음을 수행할 수 있도록 아래 VBA를 어떻게 수정합니까?
새 시트에 쌓인 열을 넣습니다.
공백 처리(아래 코드는 현재 이 작업을 수행함)
3.code는 사용자가 현재 선택한 범위에서 실행됩니다. 이상적으로는 사용자가 연속되지 않은 열을 선택할 수 있습니다.
Sub MoveAllDataToColumnA()
Dim i As Long, ws As Worksheet, rngCopy As Range, rngEnd As Range
Set ws = ActiveSheet
Do Until ws.Cells(1, 2).Value = ""
Set rngCopy = ws.Range("B2", ws.Cells(ws.Rows.Count, "B").End(xlUp))
Set rngEnd = ws.Cells(ws.Rows.Count, "A").End(xlUp).Offset(1, 0)
rngEnd.Resize(rngCopy.Rows.Count, 1).Value = rngCopy.Value
rngCopy.EntireColumn.Delete
Loop
End Sub
답변1
요구 사항 #3을 처리할 수는 없지만 이를 위해 파워 쿼리 추가 기능을 사용하겠습니다. Excel 2016부터 파워 쿼리는 "가져오기 및 변환" 섹션 아래의 데이터 리본에 기본 제공됩니다.
파워 쿼리에서 만들 단계는 다음과 같습니다.
조직 및 길이 열을 선택한 다음 "열 제거"를 선택합니다.
카테고리 열을 선택하고 "열 피벗 해제/기타 열 피벗 해제"를 선택합니다.
결과를 새로운 Excel 테이블로 전달할 수 있습니다.