行列不限 Option Explicit Sub 逆转置() Dim a, i, j, m With Sheets("粘贴") a = [a1].CurrentRegion ReDim b(1 To (UBound(a) - 1) * (UBound(a, 2) - 4), 1 To 3) For j = 5 To UBound(a, 2) For i = 2 To UBound(a) m = m + 1 b(m, 1) = a(i, 1): b(m, 2) = a(1, j): b(m, 3) = a(i, j) Next Next .[a1].Offset(, UBound(a, 2) + 2).Resize(UBound(b), 3) = b End With End Sub