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