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")), 1), _
UBound(Application.WorksheetFunction.Transpose(Range("A1:C5")), 2)) = _
Application.WorksheetFunction.Transpose(Range("A1:C5"))
| 固定リンク
「Excel VBA」カテゴリの記事
- SheetsとWorksheets(2013.01.19)
- あるあるエラー:シートをオブジェクト変数に入れる(2012.09.23)
- WebクエリでGoogleの検索結果を取得する(2012.03.05)
- Excelが保存時にエラーや強制終了した場合の対処法(2011.12.21)
- 使用中のファイルを開く、開かない(2011.12.20)
コメント