「excel vba 配列 要素を逆に処理」
という検索キーワードでアクセスがありました。
[スポンサードリンク]
配列要素を逆順に処理するサンプルマクロ
簡単なマクロをご紹介しておきましょう。
Sub 配列要素を逆に処理する()
Dim arr(1 To 3) As String
arr(1) = "イ"
arr(2) = "ロ"
arr(3) = "ハ" Dim i As Long
For i = UBound(arr) To LBound(arr) Step -1
MsgBox arr(i)
Next i
End Sub
Dim arr(1 To 3) As String
arr(1) = "イ"
arr(2) = "ロ"
arr(3) = "ハ" Dim i As Long
For i = UBound(arr) To LBound(arr) Step -1
MsgBox arr(i)
Next i
End Sub
上記のSubプロシージャを実行すると、文字列「イ」「ロ」「ハ」を要素に持つ配列が逆順に処理されて「ハ」「ロ」「イ」の順にメッセージボックスが表示されます。
サンプルマクロの解説
最初の、
Dim arr(1 To 3) As String
arr(1) = "イ"
arr(2) = "ロ"
arr(3) = "ハ"
の部分で、配列変数の宣言を行い、各要素に文字列データを格納しています。
ショートカットキー[F8]でステップ実行を進め、データ格納が終わった時点でローカルウィンドウを確認すれば、下図のように「イ」「ロ」「ハ」とデータが代入されていることを確認できます。
「excel vba 配列 要素を逆に処理」のポイントは、
For i = UBound(arr) To LBound(arr) Step -1
の部分です。
「Step -1」と、カウンター変数iを1ずつ減らす増分値指定を行い、初期値を「UBound(arr)」、最終値を「LBound(arr)」と指定することで、インデックスの大きいほうから小さいほうへ処理が行われます。
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » 配列 » 配列の要素を逆順に処理する