我有幾個工作簿,其中包含大量的列(每次不同數量的列)和大量的行。我想將列範圍內的所有值複製到列A和列B中。值必須成對複製,並且可以包含空單元格,甚至是空行,這些行也必須複製。VBA堆棧到前兩個下面的幾列
現在我有以下數據集的結構:
A B C D E F .......
red cat black dog yellow fox .......
red cat white dog yellow fox .......
grey cat black dog yellow fox .......
..........................................
串聯後,我的數據必須是這樣的:
A B
red cat
red cat
grey cat
black dog
white dog
black dog
yellow fox
yellow fox
yellow fox
我已經找到了計算器,它工作正常this post,但它不會保留我的數據的原始成對順序並跳過空單元格。我很難找出如何調整這個代碼來解決我的問題。
此外,我發現another solution和我一直試圖修改它,但我在第8行
這裏得到的消息「運行時錯誤1004」是我修改的方案:
Sub MoveColumnsUnderAB()
Dim ws As Worksheet
Dim lr As Long
Dim lc As Integer
Set ws = ThisWorkbook.Worksheets("Sheet1")
lc = ws.Range("XFD1").End(xlToLeft).column '' Find the last column
While lc <> 2 '' stop once it hits Column B
lr = ws.Cells(1, lc).End(xlDown).Row '' Find the last row for this block of 2
ws.Range(ws.Cells(1, lc).Offset(, -1), ws.Cells(lr, lc)).Copy ws.Range("A" & ws.Rows.Count).End(xlUp).Offset(1)
ws.Range(ws.Cells(1, lc).Offset(, -1), ws.Cells(lr, lc)).ClearContents '' Clear it out
lc = ws.Range("XFD1").End(xlToLeft).column '' Get the last column again for the While loop
Wend
End Sub
我將不勝感激任何幫助。
您的列標題在整張表格中是否一致?至少對於兩列你想保持成對。 – Lowpar
@Lowpar是的,第一列調用「Attribute」和第二個「Category」對於每一對 – In777