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

来源:百度知道 编辑:UC知道 时间:2024/05/10 08:48:17
我现在要处理一些数据,它们是分好几十列,我想把这些数据从第一列开始到最后一列排成只有一列,由于数据太多,单个拷的话太慢,请哪位大侠帮忙解决一下.

注意:由于没有看到你表格的具体情况。
所以如果执行代码后,删除你不想删除内容
请不要保存。重新打开窗口即可。

按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键。

我假设你的数据是从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