病院で処方された薬や病気についてわかりやすく解説します

VBA講座2-9 For~Nextステートメントについて

ノートパソコンとハーブ

今回はFor~Nextステートメントについてお話します。For~Nextステートメントは繰り返しの作業を行う時に使用します。これも非常によく使われますのでぜひ覚えて下さいね。それではいきましょう。

スポンサーリンク

For~Nextステートメントとは

 

For i = a to b

Next

これが基本形です。iは変数です。a、bは基本数字が入ります。意味は「aからbまで○を繰り返す」です。

 

では実際に使用するコードを見てみましょう。

Dim i As Integer
For i = 2 To 17
cboTani.AddItem Worksheets(“基本マスタ”).Cells(i, 2).Value
Next

では上記を一行ずつ解説していきます。

 

まず1行目

Dim i As Integer

意味は「変数iを整数と宣言する」。これはVBA講座2-5 変数の宣言でやりましたね。忘れてしまった方は復習しておきましょう。

 

続いて2行目

For i = 2 To 17

「変数iには2から17までの数字を順番に入れる。その際、以下の動作を都度行う」という意味ですね。上の赤枠で囲った基本形そのままです。なぜ2から17なのかは次にわかります。

 

3行目

cboTani.AddItem Worksheets(“基本マスタ”).Cells(i, 2).Value

「コントロールcboTani(ユーザーフォームに配置済)にアイテムを加える。そのアイテムとはワークシート基本マスタのセル(2,2)から(17,2)までの値である。」ほとんど直訳です。

 

vba2-9-1

上の画像の赤枠で囲まれた部分ですね。cboTaniに入れる値はVBA講座2-4で設定しました。今回はそれを1個1個加えるのではなく、繰り返し処理を使用する事で楽をします。

 

4行目

Next

Nextは最初に戻ると考えて下さい。ただし変数iが17になるまでは。といった感じです。

 

Cells(i,2)ですが、Cellsは(行番号,列番号)を示しています。例えばCells(2,2)はB2セルを意味します。

 

Excelのシートでは行は番号が付いているのでわかりやすいですが、列はアルファベットになっているので少しわかりづらいかも。

セルを示す方法はもうひとつあります。VBA講座2-7で少しお話しました。こっちの方がわかりやすいかもしれません。

 

Range(“B2”)=Cells(2,2)

こんな感じです。

 

ただこちらはセルを「””」で挟むのを忘れずに。付けないとエラーが発生してしまいます。どっちがいいとかではなく、場合によって使い分ける形になります。Valueは値です。そのまんまですね。

 

話しを戻して、全体をつなげると…「B2セルの値(T)からB17セルの値(U)までをcboTaniに追加する」という意味になります。

 

それではFor~Nextステートメントについては以上となります。お疲れ様でした。次回は実際にコンボボックスに値を読み込ませてみましょう。
次の講座

スポンサーリンク

こちらの記事もおすすめです

関連記事

サイト内検索