「excel vba 配列の行列を入れ替える」
「excel vba 配列の縦横入替え」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
Excel VBA(Visual Basic for Applications)で、配列の、縦横・行列を入れ替える方法を探している方による検索です。
Excel VBAでは、Excelのワークシート関数・TRANSPOSE関数を、VBAから利用することで、配列の縦横・行列入れ替えが、とても簡単にできてしまいます。
配列の行列・縦横を入れ替えるサンプルマクロ
以下ようなのマクロで、TRANSPOSE関数を使うことで、配列の縦横・行列を簡単に入れ替えられることが確認できるでしょう。
Dim arr_1 As Variant
Dim arr_2 As Variant
arr_1 = Selection.Value
arr_2 = WorksheetFunction.Transpose(arr_1)
Stop
End Subサンプルマクロの解説
配列の縦横・行列の入れ替えを行っているのは、
arr_2 = WorksheetFunction.Transpose(arr_1)
の部分です。
配列・arr_1の縦横・行列を入れ替えて、配列・arr_2に格納しています。
WorksheetFunctionプロパティでWorksheetFunctionオブジェクトを取得して、そのTransposeメソッド(TRANSPOSE関数)を呼んでいます。
上図のように、配列に格納したいデータをワークシート上に入力しておいて、そのセル範囲を選択しておいてから、サンプルマクロを実行すると、
Stop文の位置でステップ実行に入ります。
このステップ実行に入っている状態で、VBE(Visual Basic Editor)のメニュー[表示]-[ローカルウィンドウ]から、ローカルウィンドウを表示してやれば、
上図のように、配列の縦横・行列が入れ替わっていることをご確認いただけるはずです。
- Newer:段落ごとの文字列を配列変数に格納するWordマクロ
- Older:Word VBAでページ幅を基準に表示する
Home » エクセルマクロ・Excel VBAの使い方 » 配列 » Excel VBAで配列の行列・縦横を入れ替える