excel表格中,如何快速将多列转为一列

我现在要处理一些数据,它们是分好几十列,我想把这些数据从第一列开始到最后一列排成只有一列,由于数据太多,单个拷的话太慢,请哪位大侠帮忙解决一下.

用公式很方便的。步骤如下:

1、先看数据源。如下图

我们要将A、B、C三列合并成一列到E列。

2、在E列第一单元格内,输入公式:=A1&B1&C1 如下图

3、点击对号按钮。

点击后,效果如下图显示

4、选中E1单元格。

注意框线右下角的方块。如下图所示

5、用鼠标指到方块上面,按住左键向下拉,拉到你要合成一列的最底部即可。完成后,效果如下图

合并成一列完成。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-01-04
注意:由于没有看到你表格的具体情况。
所以如果执行代码后,删除你不想删除内容
请不要保存。重新打开窗口即可。

按ALT+F11进入VBE窗口
插入模块
输入以下代码:

Sub dsr()
Dim arr, arr1()
arr = Range("a1").CurrentRegion
x = UBound(arr)
y = UBound(arr, 2)
ReDim arr1(1 To x * y, 1 To 1)

For yy = 1 To y
For xx = 1 To x
If arr(xx, yy) <> "" Then
k = k + 1
arr1(k, 1) = arr(xx, yy)
End If
Next xx
Next yy
Cells = ""
Range("a1").Resize(k, 1) = arr1

End Sub
完成后按F5键。本回答被提问者采纳
第2个回答  2008-01-04
我假设你的数据是从A列开始的,几十个列是连续的,并且是从第一行开始的.在宏代码框中输入下列代码,运行

Sub aaaa()
Dim a As Integer
Dim b As Integer
Dim c As Integer
c = Range("a1").CurrentRegion.Columns.Count
For x = 1 To c - 1
a = WorksheetFunction.CountA(Range("a:a"))
b = WorksheetFunction.CountA(Range("b:b"))
Range("b1:" & "b" & b).Select
Selection.Cut
Range("a" & a + 1).Select
ActiveSheet.Paste
Range("b:b").Delete
Next
End Sub
相似回答