我正在尝试使用VBA将数据表(没有标题/行数据)转换为单个列。
示例如下:
123 580 255
15 58 255
154
最终结果应为:
123
15
154
580
58
255
255
(注意:没有空白)
我整天尝试使用for-next和do-while循环等等,没有任何好结果。
答案 0 :(得分:0)
这样的事情对你有用吗?
Dim c As Range
Dim iRow As Integer, iColumn As Integer
'Find first empty cell in column A
Set c = Sheets(1).Range("A1")
Do Until c.Value = ""
Set c = c.Offset(1, 0)
Loop
iRow = 1
iColumn = 2
Do Until Sheets(1).Cells(iRow, iColumn).Value = ""
iRow = 1
Do Until Sheets(1).Cells(iRow, iColumn).Value = ""
c.Value = Sheets(1).Cells(iRow, iColumn).Value
Set c = c.Offset(1, 0)
iRow = iRow + 1
Loop
iColumn = iColumn + 1
Loop
如果列B +中有一些空单元格,那么也许你可以考虑在打开第一个循环后立即添加一个range.sort。