★Do...Loop ステートメント その1 | |||
◎ 指定した条件を満たしているかどうかを判断しながら、同じ処理を繰り返します。 「For...Next」と違って回数の指定はしませんよ。 ただし間違った条件を指定してしまうと、無限に処理を繰り返してワナにはまりますよ。 |
|||
「Do...Loop」には 1.条件を満たしている間は、この処理を続けなさい。 ・・・条件が先で処理が後 2.この処理を行って、条件を満たしている間は続けなさい。 ・・・条件が後で処理が先 3.条件を満たすまで、この処理を続けなさい。 ・・・条件が先で処理が後 4.この処理を行って、条件を満たすまでは続けなさい。 ・・・条件が後で処理が先 の4つの使い方がありますよ。順番に解説しますので、使い分け出来るように頑張りましょう。 それから強制的にDo...Loopから抜ける時は、Exit Doを使いますよ。 |
|||
1.条件を満たしている間は、この処理を続けなさい。 Do While 条件式 処理 Loop 2.この処理を行って、条件を満たしている間は続けなさい。 Do 処理 Loop While 条件式 以上2つともWhileを使うのですが、前に使うのと後に使うのでは、微妙に違いが出てきますので、そこを押えて使い分けをしましょう。 例題 「セルA1から連続した同じ内容がどこまで続いているか、続いているところまでの色を赤く変 えなさい。」 という内容にしています。 Whileの位置の違う2つのコード記述でどう変化が生じるか確認して下さいね。 |
|||
→ | |||
こうなればOKです。 まず 1.条件を満たしている間は、この処理を続けなさい。 の場合の記述では |
|||
Sub doloop1() ' i は整数型として変数宣言します。 Dim i As Integer ’i の初期設定として1を代入しておきます。 i = 1 ’A列のセルで「男」と入力されている間、以下の処理を行います。 Do While Cells(i, 1) = "男" ’「男」と入力されているセルはセルの色を赤に変更します。 Cells(i, 1).Interior.ColorIndex = 3 ’次々とセルを下に移動させる為に1回処理を行う度に ’変数 i に1を足していきます。これで行数は1ずつ増えますね。 i = i + 1 Loop End Sub |
|||
うまく動きましたか?では次は。。。 |
|||
|