
Option Explicit
Sub 矩阵转单列()
Dim i, j, a
a = [a1].CurrentRegion.Value
ReDim b(1 To UBound(a) * UBound(a, 2), 1 To 1) As String
For j = 1 To UBound(a, 2)
For i = 1 To UBound(a)
b((j - 1) * UBound(a) + i, 1) = a(i, j)
Next
Next
[a1].Offset(, UBound(a, 2) + 1).Resize(UBound(b)) = b
End Sub