
A1:A5, B1:B5, C1:C5 등과 같이 모두 동일한 길이의 데이터 행이 있습니다. 이를 D1:D5, D6:D10, D11:D15 등과 같이 단일 열에 넣고 싶습니다. 헤더나 행 식별자가 없습니다. ROW와 COLUMN 값의 조합으로 INDIRECT를 사용하면 작동할 것이라고 생각하지만 올바른 조합을 찾을 수 없는 것 같습니다.
답변1
답변2
이렇게 하면 열 머리글이 무시되고 원래 셀의 데이터는 삭제되지 않습니다. 워크시트에 따라 열 값을 변경해야 할 수도 있습니다.
Sub Macro1()
Const firstRowWithData = 2 ' assumes labels in row 1
Dim anyWS As Worksheet
Dim copyRange As Range
Dim CP As Integer
For Each anyWS In ThisWorkbook.Worksheets
For CP = Range("B1").Column To Range("D1").Column
Set copyRange = anyWS.Range(anyWS.Cells(2, CP).Address & ":" & _
anyWS.Cells(Rows.Count, CP).End(xlUp).Address)
copyRange.Copy anyWS.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
Next
Next
End Sub
~ 전에
A Header B Header C Header
a b c
a b c
a b c
~ 후에
A Header B Header C Header
a b c
a b c
a b c
b
b
b
c
c
c
그런 다음 원래 열을 수동으로 삭제합니다.