Home » エクセルマクロ・Excel VBAの使い方 » VBAのFor文で0(ゼロ)からマイナス値までを

VBAのFor文で0(ゼロ)からマイナス値までを

「vba for文 0~マイナス値まで」
といった検索キーワードでアクセスがありました。

VBAで、初期値が0(ゼロ)最終値が負の値のFor~Nextループを回すには、どのようなコードを書けばいいのか調べていた方による検索でしょうか。

拙著『いちばんやさしいExcel VBAの教本』の「Lesson 43 For~Next文の繰り返し条件を使いこなしましょう」でも解説しているとおり、Stepの直後に書く値をマイナスの値にすれば、「0~マイナス値まで」For~Nextループを回せます。

[スポンサードリンク]

初期値が0で最終値がマイナス値のFor文のサンプル

以下のSubプロシージャを実行すると「0」から「-3」までの整数が順番にメッセージボックスに表示されます。

Sub 初期値が0で最終値がマイナス値のFor文()
 Dim i As Long
 For i = 0 To -3 Step -1
  MsgBox i
 Next i
End Sub

増分値に「-2」を指定するサンプル

増分値は「-1」ではない値も指定可能です。

例えば、先ほどのSubプロシージャの最終値と増分値を変更して

For i = 0 To -5 Step -2

とした場合には、
  0
  -2
  -4
がメッセージボックスに表示されます。

0から-3まで順番に表示するには

VBAのFor~Next文を使って、例えば「0」から「-3」までをメッセージボックスに表示したいということであれば、以下のようなコードでもOKです。

 Dim i As Long
 For i = 0 To 3
  MsgBox -i
 Next i

For~Next文の構造は一般的な形のままで、カウンター変数iの値をループ処理の内部でマイナスに反転させています。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » VBAのFor文で0(ゼロ)からマイナス値までを

「エクセルマクロ・Excel VBAの使い方」の記事一覧

検索


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

.