单列我有一个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