【VBA】VBAで繰り返し処理してみた?(For文)
繰り返し処理
こんちは😀
今回は、宇宙海賊なしで、VBAの繰り返し処理について紹介します👍
繰り返し処理は、マクロの記録を使ってても、出会うことは無いでしょう。
そうなんです。マクロの記録をしても出てきません🔍
マクロを組みたければ、マクロの記録から少し距離を置いた方がいいと思います⏸or⏹
そして、この繰り返し処理と制御文が絡み合うことで、色んな処理が可能になります。
これは他の言語でも一緒です。アルゴリズム的なものが大事!多分
頑張れば、VBAでもゲーム作れるよ✨
Forの繰り返し処理(For~Next)
今回は、For文を紹介しますね。(他にDo文もあります)
そして、繰り返し処理には、必ず変数が絡んできます。
以前に紹介した、『何か入れる箱みたいなもの。』です。
完璧に理解してなくていいので、わからない人はサラッと復習。
復習はこちらから↓
For文は、ForとNextの間に記述した処理を指定した回数だけ繰り返します🔄
どういうこと?って感じですよね?
一度、以下のコードに目を通してください。
Sub a() Dim i As Integer For i = 1 To 10 Step 1 'ここに処理を記述します Next End Sub
如何でしょうか?
上記の文だったら、『ここに処理を記述します』を10回繰り返します。
きっと分かりにくいので次に行きましょう♪
For文の解説
ここもパッと目を通す感じで大丈夫です👍
変数と数値は例えなので、あまり深く考えないでくださいね。
・構造的なこと
これ、絶対!誰にも言わないでくださいよ。絶対ですよ!実は~🎵
それぞれ赤枠が、どんな役割か分かれば大丈夫です。
・次に実行したときの流れ1(上から順に見てください)
・流れ2(繰り返しから抜ける条件)
上図のように処理されます。
まだ、わからないですよね?
実際にFor文を記述してみよう
実際にコードを記述して、動作を見た方が早いです。
For文の中に、『jはiがループした分だけiを足す』って、コードを入れてみました。
今回も、面倒だと思いますが、手打ちで書いていきましょう!
Sub kurikaesi() Dim i, j As Integer For i = 1 To 10 Step 1 j = j + i Next Debug.Print "ループを抜けた時の変数は" & i Debug.Print "1から10の合計は" & j End Sub
記述出来たら実行してみましょう▶
画像のような結果になりましたか?
要するに、For~の行でループの条件を満たしているか判断していて、
Nextで変数にStepの数値を代入してるっていうこと。
F5で実行より、F8で1行ずつ実行していくとわかりやすいかも👀
ちなみに、今回のように変数を1ずつ増加させたい場合は、『Step 1』は省略できます。
省略した場合、自動的に1,2,3,4といった感じで、変数は1ずつ増えます。
例えば、『For i = 1 to 10 Step 2』にすれば、『i』は1、3、5、7、9、11となり『11』でループを抜けます。
勘がいい人は、『Step – 〇』もできる?って、思ったかな?マイナスもできますよ👌
今回は、この辺にしようと思ったけど、物足りない人もいますよね?
ネスト(入れ子)とか挑戦します?
少しやってみて、ダメって人。スルーして大丈夫です。
今回は、繰り返し処理が何なのかってことなので😊
・九九を用意してみました🏫
Sub kuku() Dim i, j As Integer For i = 1 To 9 Debug.Print i & "の段" For j = 1 To 9 Debug.Print i & "-" & j & "が" & i * j Next Next End Sub
わかりました?
F8で実行していけば、『なんだ簡単じゃん』ってなると思います😊
それでは、またの✋
ディスカッション
コメント一覧
まだ、コメントがありません