Home » エクセルマクロ・Excel VBAの使い方 » 配列 » Excel VBAで配列の行列・縦横を入れ替える

Excel VBAで配列の行列・縦横を入れ替える

対象:Excel2007, Excel2010, Excel2013

「excel vba 配列の行列を入れ替える」
「excel vba 配列の縦横入替え」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

Excel VBA(Visual Basic for Applications)で、配列の、縦横・行列を入れ替える方法を探している方による検索です。

Excel VBAでは、Excelのワークシート関数・TRANSPOSE関数を、VBAから利用することで、配列の縦横・行列入れ替えが、とても簡単にできてしまいます。

[スポンサードリンク]

配列の行列・縦横を入れ替えるサンプルマクロ

以下ようなのマクロで、TRANSPOSE関数を使うことで、配列の縦横・行列を簡単に入れ替えられることが確認できるでしょう。


Sub 配列の行列入れ替え()

 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関数)を呼んでいます。

Excel VBAで配列の行列・縦横を入れ替える

上図のように、配列に格納したいデータをワークシート上に入力しておいて、そのセル範囲を選択しておいてから、サンプルマクロを実行すると、

Excel VBAで配列の行列・縦横を入れ替える

Stop文の位置でステップ実行に入ります。

このステップ実行に入っている状態で、VBE(Visual Basic Editor)のメニュー[表示]-[ローカルウィンドウ]から、ローカルウィンドウを表示してやれば、

Excel VBAで配列の行列・縦横を入れ替える

上図のように、配列の縦横・行列が入れ替わっていることをご確認いただけるはずです。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » 配列 » Excel VBAで配列の行列・縦横を入れ替える

TrackBack:1

TrackBack URL
1次元配列のデータを縦方向に入力-WorksheetFunction.Transpose from インストラクターのネタ帳
Excel VBAでは、WorksheetFunction.Transposeメソッドで、要素数65536までの1次元配列データを縦方向に入力できます。

Home » エクセルマクロ・Excel VBAの使い方 » 配列 » Excel VBAで配列の行列・縦横を入れ替える

「配列」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.