單列我有一個Excel工作表轉換成多列基於列的1&2個值的Excel
A AAA 1
A AAA 2
A AAA 3
A ABC 1
A ABC 2
B AAA 1
B AAA 2
B AAA 3
B ABC 1
B ABC 2
我需要它看起來像
A AAA 1 2 3
A ABC 1 2
B AAA 1 2 3
B ABC 1 2
我有這樣的代碼轉換
A 1 2 3
A 1
A 2
A 3
卻找不到反向
Sub MakeOutput()
Dim iInputRow As Long
Dim iInputColumn As Long
Dim iOutputRow As Long
iOutputRow = 1 '- counter for which row to paste to
'- loop through each row on the input sheet
For iInputRow = 1 To Sheets("Input").Range("A" & Sheets("Input").Rows.Count).End(xlUp).Row
'- loop through each column inside of each row
For iInputColumn = 2 To Sheets("Input").Cells(iInputRow, 1).End(xlToRight).Column
Sheets("Output").Range("A" & iOutputRow).Value = Sheets("Input").Range("A" & iInputRow).Value
Sheets("Output").Range("B" & iOutputRow).Value = Sheets("Input").Cells(iInputRow, iInputColumn).Value
iOutputRow = iOutputRow + 1
Next iInputColumn
Next iInputRow
End Sub
我在一個小組上運行它,它運行得非常好,是否有一行代碼來說明它在哪一行?在整個190k運行之前呢? – 2015-02-11 16:20:43
我更新了代碼以適應一個小錯誤,然後使用超過325,000行數據對代碼進行了測試,代碼在不到5秒的時間內完成。 – tigeravatar 2015-02-11 16:22:25
非常快,謝謝! – 2015-02-11 16:24:11