Sub test()
Dim arr, brr, i&, m&, x&, y&, z&, p&, w%, rng As Range
On Error Resume Next
Sheets("原数据").Select
arr = Range([a1], [b65536].End(3))
i = [a65536].End(3).Row
m = [aaa3].End(xlToLeft).Column
brr = Range([c2], Cells(i, m))
p = 0
Sheet2.Select
[a1:z500].ClearContents
[b1] = arr(1, 2): [a2] = arr(2, 1): [b2] = arr(2, 2)
For x = 1 To UBound(brr)
For y = 1 To UBound(brr, 2)
z = (y - 1) \ 12 + 1 + p: w = (y - 1) Mod 12 + 1
Cells(z + 1, w + 2) = brr(x, y)
Next
Set rng = [c65536].End(3)
If x + 2 > UBound(arr) Then Exit For
rng.Offset(1, -2) = arr(x + 2, 1): rng.Offset(1, -1) = arr(x + 2, 2)
Set rng = Nothing
p = z - 1
Next
End Sub |