Do While Until前判断後判断

メインメニューに戻る
VBA自作サンプルプログラム集に戻る
基本情報技術者試験トップへ
取りあえず事務職で働きたいから手っ取り早くExcel教えてくれ

※ この例題はフィクションです ※
■ いのちは大切に!
■ 犯罪はダメ!
■ 法律を守ろう!

4つのループを見ていきます。

こんな感じの画面を用意します。

● 1つ目:セルの内容が「チャラ男」である間は
ナイフでぶっ刺して「×」を付けてやっつける。
条件判断は【前】

● 2つ目:セルの内容が「チャラ男」である
間はナイフでぶっ刺して「×」を付けてやっつける。
条件判断は【後 (ナイフの扱いに慣れていない人) 】

● 3つ目:セルの内容が「宝石箱」が現れるまで、
ナイフを振り回して「×」を付けてやっつける。
条件判断は【前】

● 4つ目:セルの内容が「宝石箱」が現れるまで、
ナイフを振り回して「×」を付けてやっつける。
条件判断は 【後 (ナイフの扱いに慣れていない人) 】

まずは1つ目最初。

● 1つ目:セルの内容が「チャラ男」である
間はナイフでぶっ刺して「×」を付けてやっつける。
条件判断は【前】

最初に、セル(3,4)つまり、
D列3行の値が「チャラ男」かどうか
判断します。

チャラ男ですので、「×」でやっつけます。
Offsetで一つ右に移動します。
そこでもセルの値がチャラ男かどうか
判断します。

その繰り返しで、
最後のチャラ男までやっつけます。


Sub ループWhile前判断()
  Cells(3, 4).Select
  Do While ActiveCell.Value = “チャラ男”
  ActiveCell.Value = “×”
  ActiveCell.Offset(0, 1).Select
 Loop

End Sub

こんな感じでやっつけられました。

● 2つ目:セルの内容が「チャラ男」である間は
ナイフでぶっ刺して「×」を付けてやっつける。
条件判断は「後」

「後」判断は【ナイフの扱いに慣れていない人】を
イメージして下さい。
「チャラ男」かどうか判断しないで、
ナイフでぶっ刺してしまいます。
その後に「あ~~、チャラ男じゃなくて、
ブリッコだった」と気づいて後悔します。

つまり、最初にセル(6,4)、
D列6行を×にしてしまいます。
×にした後で条件判断をします。
”ブリッコ”ですので、条件に当てはまりませんが、
すでに×でやっつけられています。

Offsetで一つ右に移動します。
今度はその失敗でナイフの扱いに
慣れてきたので、
そこでもセルの値がチャラ男かどうか
判断出来ます。

その繰り返しで、
最後のチャラ男までやっつけます。

こんな感じでやっつけられました。


Sub ループWhile後判断()
  Cells(6, 4).Select
  Do
   ActiveCell.Value = “×”
   ActiveCell.Offset(0, 1).Select
  Loop While ActiveCell.Value = “チャラ男”

End Sub

ここからUntilに入ります。
ルールとして、
「宝石箱」は攻撃しません。
チャラ男、ブリッコ、オツボネおば、騙す人、悪い人達を
攻撃します。

● 3つ目:セルの内容が「宝石箱」が現れるまで、
「×」を付けてやっつける。
条件判断は前

最初に、セル(10,4)つまり、
D列10行の値が「宝石箱」かどうか
判断します。

まだ、「宝石箱」が現れていないので、
ナイフを振り回して「×」でやっつけます。
Offsetで一つ右に移動します。

移動してもまだ、「宝石箱」になっていないので、
やっつけます

その繰り返しで、
最後に「宝石箱」になった所で攻撃をやめます。

こんな感じでやっつけられました。


Sub ループUntil前判断()
Cells(10, 4).Select
Do Until ActiveCell.Value = “宝石箱”
ActiveCell.Value = “×”
ActiveCell.Offset(0, 1).Select
Loop

End Sub

最後です。

● 4つ目:セルの内容が「宝石箱」が現れるまで、
「×」を付けてやっつける。
条件判断は後

条件判断が「後」なので、またまた
【ナイフの扱いに慣れていない人】になります。

セル(13,4)つまり、
D列13行の値が「宝石箱」かどうか
判断します。

宝石箱はやっつけないというルールですが、
扱いに慣れていない為、最初の宝石箱を
やっつけてしまいます。

そこで、あ~~失敗したと後悔します。
同じ失敗をしないように、気を付けた所で、
次に進んで、


まだ、次の「宝石箱」になっていないので、
「×」でやっつけます。
Offsetで一つ右に移動します。
移動してもまだ、「宝石箱」になっていないので、
やっつけます

その繰り返しで、
最後に「宝石箱」になった所で攻撃をやめます。


Sub ループUntil後判断()
  Cells(13, 4).Select
  Do
  ActiveCell.Value = “×”
   ActiveCell.Offset(0, 1).Select
   Loop Until ActiveCell.Value = “宝石箱”
End Sub

お疲れ様でした。
今日はここまでです。

メインメニューに戻る
VBA自作サンプルプログラム集に戻る
基本情報技術者試験トップへ
取りあえず事務職で働きたいから手っ取り早くExcel教えてくれ

「Do While Until前判断後判断」への1件のフィードバック

コメントは受け付けていません。