|
▼help さん:
もし、上記で提示した理解が正しいとすれば、以下のような処理も考えられます。
配列を使わず、セル領域を相手にしますので、直接Transposeが利用できます。
Sub Test2()
Dim i As Long
Dim n As Long
Dim wCol As Long
Dim mRow As Long
Dim mCols As Long
wCol = 4 + 2
With Range("a1").CurrentRegion
mRow = .Rows.Count
mCols = .Columns.Count
.Cells(1, wCol).Resize(mRow, mCols).Value = .Value
.Clear
End With
n = 1
For i = 1 To mRow Step 4
Cells(n, 1).Resize(mCols, 4).Value = _
WorksheetFunction.Transpose(Cells(i, wCol).Resize(4, mCols).Value)
n = n + mCols
Next
Cells(1, wCol).CurrentRegion.Clear
End Sub
|
|