【効率化するならFor文が必須!】VBA「For~Next」を図解で解説

効率化するならFor文が必須!VBA「For-Next」を図解で解説

「繰り返し処理」って難しそうだけど、初心者に出来るかなー

「For~Next」文は繰り返し処理を行う構文の1つです。

これを使いこなせれば効率が何十倍にも上がり、使える人と使えない人には大きな差が出てきます。

しかも、使い方は簡単でポイントを押さえれば初心者の方もすぐに使えるようになるので、「For~Next」文を習得して差を付けましょう。

こんな方におすすめ

・「For~Next」の繰り返し処理を知りたい

・「For~Next」文の書き方を知りたい

・効率的な「For~Next」の例文が知りたい

結論

・「For~Next」の繰り返し処理とは「回数を指定」して「区間」を繰り返し実行する処理

・「For~Next」コードの記述の仕方

For (カウント変数) = (開始値) to (終了値) Step (増減) 

(処理) 

Next (カウント変数)

・Cellsにカウント変数を入れてセル毎に処理を繰り返すコードを使えれば効率UP間違いなし

「For~Next」とは?

「For~Next」とは繰り返し処理で、「回数を指定」して「ある区間」を繰り返し実行する処理になります。

イメージしやすいように、下記の図を参考にすると「1~10回」「腕立てと腹筋」を繰り返し実行するという処理になります。

腕立て伏せと腹筋を例にした「For~Next」文のイメージ図

このように「回数」と「区間」を指定するだけで繰り返し処理が可能になります。

他にも「Do While ~ Loop」や「Do Until ~ Loop」など繰り返し構文はありますが、よく使うのは「For~Next」文なので、初心者の方は「For~Next」文だけ覚えて頂ければ問題ありません。

「For~Next」の書き方

基本的な「For~Next」の書き方は以下のようになります。

For~Next文の基本的な書き方を示した画像

①「For カウント変数」:Forのあとにカウント変数という変数を設定します。カウント変数は何でも構いませんが、一般的には「 i 」や「 x 」をカウント変数として使用する事が多いです。

②「開始値 to 終了値」:開始値から終了値を決めます。数字は繰り返す回数や処理をするセルの範囲によって異なります。10回繰り返したいのであれば「1 to 10」、セルの3行目から10行目までを繰り返したいのであれば「3 to 10」というように設定します。

③「処理を書く」:Cellsを使って繰り返し処理を行うときはCellsにカウント変数を入れるようにしてください。

④「Next」:最後にNext カウント変数と書くことで、「For ~Next」の区間を指定した回数だけ繰り返して処理してくれます。

Cellsを使った「For~Next」で効率UP

「For~Next」文は工夫次第で様々なことが可能になります。

特にCellsプロパティを使って繰り返し処理を行うことで、計り知れない効率化が期待できます。

そして、コードを書けばボタン1つで実行するマクロが組めます。

下記の例は、2021/1/1~12/31までをA列に入力するマクロです。

Cellsプロパティを使ったFor Next構文の例を示した画像
For Nextを使って1年間の日付を入力するコードを書いた画像
ポイント:Cellsを使ったFor~Next

・Cellsプロパティの中にカウント変数を入れる                       ➡カウント変数を入れないとセルが変化しない 

・For~Next区間中に余計なコードは書かない                                      ➡必要のないコード書くと繰り返すたびに毎回余計な処理が実行されてしまう

Stepを使ってFor~Nextのカウントを増減する

「For~Next」の中にStepを入れると、カウント変数を自由に増減できます。

Stepを使ったFor~Nextの書き方は以下のようになります。

Stepを使ったFor Nextのか書き方
Stepを使ったFor Nextの例文

このようにStepを使うと、カウント変数の数字を飛ばして繰り返すことができます。

また、マイナスを使うと減少させることもできます。

「For~Next」のまとめ

・「For~Next」は回数を指定して区間を繰り返し実行する処理

・「For~Next」文の記述の仕方

For (カウント変数) = (開始値) to (終了値) Step (増減) 

(処理) 

Next (カウント変数)

・「Cellsプロパティ」と「For~Next」を使うことで効率UP間違いなし

 ポイント1:Cellsプロパティの中にカウント変数を入れる

 ポイント2:For~Next区間中に余計なコードは書かない

 ポイント3:Stepを使うことでカウント変数を増減できる

コメント

タイトルとURLをコピーしました