以前の記事で
セルの範囲の行列の入れ替えを
コピぺで実行する方法を紹介しました。
今回は
2次元配列の行列を入れ替えます。
これには
ワークシート関数のTransposeを使用します。
行列を入れ替えたい配列vDataがあるとすると
これをワークシート関数のTransposeで行列を入れ替えるには
次のようにします。
Application.WorksheetFunction.Transpose(vData)
これがvDataの行列を入れ替えた配列になります。
コードはこちら
Sub macro110326a() '入れ替える配列 |
実行前のシート:
実行後のシート:
この関数を使って
シートの行列を入れ替えることもできるようです。
長いですが
下のようにすると範囲A1:C5の行列を入れ替えたものを
E1を左上とする範囲に入れることができます。
Range("E1").Resize(UBound(Application.WorksheetFunction.Transpose(Range("A1:C5")), 1), _
UBound(Application.WorksheetFunction.Transpose(Range("A1:C5")), 2)) = _
Application.WorksheetFunction.Transpose(Range("A1:C5"))