vba问题:我要把excel中所有数据合并到一列,应该怎么写?

比如说一个表格里有一百行,一百列
我想合并到一列里面
一列中从上到下依次是A列数据,B列数据....100列数据
这个应该怎么写?

请提前备份你的数据,因为运行后,将合并后的数据写在A列,其他列清空。另外,原有数据的行和列的乘积不要超过65536,否则,一列中放不下。
Sub 合并()
Dim D, c, i As Integer, x As Integer, y As Integer
D = Sheets(1).UsedRange
ReDim c(1 To UBound(D) * UBound(D, 2))
y = 1
For i = 1 To UBound(D)
For x = 1 To UBound(D, 2)
c(y) = D(i, x)
y = y + 1
Next
Next
Sheets(1).UsedRange.Clear
Sheets(1).Range("a1").Resize(UBound(c)) = WorksheetFunction.Transpose(c)
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-11
请提前备份你的数据,因为运行后,将合并后的数据写在A列,其他列清空。另外,原有数据的行和列的乘积不要超过65536,否则,一列中放不下。
Sub 合并()
Dim D, c, i As Integer, x As Integer, y As Integer
D = Sheets(1).UsedRange
ReDim c(1 To UBound(D) * UBound(D, 2))
y = 1
For i = 1 To UBound(D)
For x = 1 To UBound(D, 2)
c(y) = D(i, x)
y = y + 1
Next
Next
Sheets(1).UsedRange.Clear
Sheets(1).Range("a1").Resize(UBound(c)) = WorksheetFunction.Transpose(c)
End Sub
相似回答