
我有長度相等的資料行,例如 A1:A5、B1:B5、C1:C5 等。符。我認為將 INDIRECT 與 ROW 和 COLUMN 值的組合一起使用應該可行,但我似乎找不到正確的組合。
答案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
然後手動刪除原來的列。