前回は、めいろゲーム1を試してみて頂いた上で、カーソルを動かす簡単なマクロを試して頂きました
今回、まずはエクセルマクロ/VBAの醍醐味である「繰り返し処理/ループ」を試してみて頂きます
この「繰り返し処理」はシステム全般の醍醐味といっても過言ではありません
この繰り返し処理のおかげで、人間は退屈な処理から解放されています
ぜひ、めいろゲーム2を通じて、この繰り返し処理を体感してみてください
この繰り返し処理は通常のマクロ/だと一瞬で終わってしまい、結果でしか、実感する暇がありません
このゲーム形式だと、登場人物に合わせて表示されるコードにて、はっきりと繰り返し処理が行われている様子を実感できるのが大きなメリットです!

目次
めいろゲーム2の遊び方
迷路ゲーム2のシートにて、L列の下にある「やり方」ボタンを押すとゲームのコード設定の方法が表示されます

このめいろ2では、めいろ1と違い「2つのコード」とそれぞれの処理回数の指定だけで「ペンギン」が「オバケ」を壁にぶつからないでつかまえることができるようにします

めいろ1とめいろ2は「めいろの内容」と「ペンギンとオバケの配置」は全く同じです
ところが、繰り返し処理を行うめいろ2の場合は僅か2行のコードを設定するだけで済みます
この2行へのコードの集約がまさに「繰り返し」処理の醍醐味です

ペンギンがオバケをつかまえた後は、カーソルの動きの動き(ペンギンの移動)について実行された「全てのコード」が表示されます

上の画像を見て「なんのことかさっぱり??」と思われたかもしれませんが、
次の章で、中身について解説していきます
繰り返し処理の中味を見る
繰り返し処理には様々な種類がありますが、今回はFor ~Next文に絞って解説を行います

上の画像の赤字部分が、構文になります(➡後は可変になります)
ForとNextの間に書いてあるコードを繰り返し処理をさせます
「繰り返し処理を何回行うか?」
の指定については、変数という概念を使います
今回はこの変数については「魔法の呪文」と割り切って話を進めさせて頂きます

上の画像の「Dim myCount As Long」とは、「myCount」を「整数の型式」にて変数として使うという意味になります
この変数の「myCount」は中学の数学で使う「X」のような意味で考えて頂いて結構です
数学の問題ではXに様々な値が入り、Yの値が変わっていきます
今回の繰返し処理のコードでは「As Long」として指定することにより、「myCount」に整数だけが入るというルールになります
ちなみに、myCountという名前は「i」などの他の名前にして頂いても結構です
さて、
この「myCount」はFor~Next文の中で、繰り返し処理回数をコントロールするのに重要な役割を果たします
「For myCount = 1」と指定することで、myCountは整数の1から始まり、
その後に「to 4」と指定することで、myCountを1つずつ増やして4になるまでFor ~ Nextの中に入るコードを繰り返し処理するという意味になります
実際にコードをいじってみよう
今回は演習2というサンプルファイルを添付します
サンプルファイルの中には3つのマクロが入っています

このうち「Sample1」は前回に使用したものです
今回は、Sample2とSample3を使用します
まず、Sample2です

Sample2を実行すると「メッセージ」が表示されます
では、「編集」ボタンを押してSample2の中味をみてみましょう!

本当に簡単な一文が書かれているはずです

MsgBox~この一文だけで「メッセージ」を表示させることができます
では、Sample3を実行してみましょう!

今度は3回メッセージが出てきました
Sample2と同じ様に中味をみてみましょう

めいろ2と同じ様な繰り返し処理のコードが書かれています
今回の場合には、Toの後が4から3に変わっています
ですので、メッセージを出すコードが3回繰り返し実行されています
繰返し処理を体感する意味で、この「3」を他の数字に変更してみましょう!
変更した上で実行すると、繰り返し処理を体感しやすいはずです
<まとめ>
いかがでしたでしょうか?
今回は、繰り返し処理について体験して頂きました
記事の冒頭でも書きましたが、この繰り返し処理はシステムの醍醐味です
この繰り返し処理を使いこなせると、エクセルを使う景色が変わってきます
今回の内容は、繰り返し処理の中でも一番、基礎的な内容です
この基礎形を理解しておくと、様々な形で応用が効きますのでぜひマスターしておきましょう!
!ストリート・アカデミーにてゲームを使ったマクロ/レッスンも行っています➡ 詳細
コメントを残す