Sub ab() '竖者排列的多列range区域变为一列
Dim rng As Range
Dim lr As Integer, lr2 As Integer
Dim lc As Integer, lc2 As Integer
Dim i As Integer, J As Integer, t As Integer, u As Integer
Dim ARR
Dim BRR
On Error GoTo msg
Set rng = Selection
lr = rng.Rows.Count
lc = rng.Columns.Count
i = lr * lc
ReDim BRR(1 To i, 1 To 1)
ARR = rng
m = 0
For u = 1 To lc
For t = 1 To lr
m = m + 1
BRR(m, 1) = ARR(t, u)
Next
Next
lc2 = rng.End(xlDown).Column
lr2 = rng.End(xlDown).Row
Cells((lr2 - lr + 1), lc2).Resize(i, 1) = BRR
Exit Sub
msg:
MsgBox ("请选择需要标记的区域!")
End Sub
vba 代码
选中区域后 运行 变成一列 (排列规则 :按列)
本回答被提问者采纳