ALL EXCEL Program Tips VBA

【解説付】VBA-For Next の使い方を説明-簡単理解【EXCEL VBA】

本記事の信頼性

Nakamura(@nkmr_dai

本記事で分かること

本記事では、以下のことが分かります。

ポイント

EXCEL-VBAのForNext(回数上限付ループ処理)を理解することができる

ForNextは大量処理をする上で必須スキルだと思うので、理解を深めてもられば幸いです。

 

For Next とは?

処理を10回続けて処理したい…など、回数上限でループ処理(繰り返し処理)を行いたい時にFor Nextを使用します。

For Nextが活躍する場面は多岐にあり、
EXCELの「1行目から10行目まで処理したい」や「1行目から最終行まで処理したい」という時にも使え、
本記事では説明しませんが EXCEL DOMでWebブラウザを制御するときにも多用するため、
ForNextは非常に便利な構文です。

とりあえず、回数上限付ループ処理=For Next構文ということを覚えておけば万事OKです。

For Nextを理解&使い方

For Next - 絶対ルール

For Nextを使用するためには 変数(Long型)必要です。

変数って何?

変数について、Dimの宣言方法や 基礎知識が足りない自覚がある方は、
説明している記事があるので ↓を参照下さいませ。
【解説付】VBA-変数とは何だ?│完全理解│【EXCEL VBA】

続きを見る

 
 

For Next - 基本構文 + 図で理解

For Next構文は↓の通りです。 

◆For Nextの構文 (例:10回処理をしたい の時)
Dim 変数 As Long
For  変数 = 1 to 10
 ' 処理をしたい内容を書く
Next

以下の画像で解説しております。

For〜Nextで囲まれた「〜」の部分を繰り返し処理をします。
   

 
 

 

For Next - 構造理解

For Next構文を知ったところで 構造を理解しておきましょう。

他のWebサイトでは 構造を理解するのにテキストベースなものが目立っていたため、図を用意しました。
絵にしたほうが理解はしやすいと思いますので、理解の一助になれば幸いです。

とりあえず、For Nextの構造は図の内容を理解していればOKです。

 
 

For Next - 途中でループから抜け出したい時(Exit For)  

Exit For」で抜け出せます。

IF文と併用条件合致した際にループ処理から抜け出す…という時に使用します。

If文って何?

If文について曖昧に理解している人は、別記事で説明していますので、そちらをご覧いただければと思います。
【解説付】VBA-IF/ElseIfの説明-ココだけ覚えれば良い【EXCEL VBA】

続きを見る


Exit Forの使い方は↓の通り。※後述で紹介するコードにExit Forを用いていますので見ると理解が深まると思います。

◆Exit Forの使い方  
For 変数 = start To end
 '処理したい内容
  Exit For
Next   

 

 
 

For Next - 使用例(コピペ用コード有)

For 変数 = start(数値) to end(数値)の、
end(数値)セルの最終行の数値を入れることで、
EXCELの先頭行から最終行まで 処理を行うことができます。

最終行を取得するコードは
Cells(Rows.Count, 1).End(xlUp).Row」です。
(↑A列の最終行を取得できます)

最終行取得って何?

EXCEL最終行を取得するCells(Rows.Count, 1).End(xlUp).Rowについて分解して説明しています。
本質を知れば応用が効くので、深く知りたい方は別記事で説明していますので、そちらをご覧くださいませ。
【解説付】VBA-最終行を取得する方法-完全理解【EXCEL VBA】

続きを見る

では、コードを紹介します。
EXCELの先頭行から最終行までの繰り返し処理は このような形で組むことができます。
 ※コード内のコメントに説明を入れています。

◎コード

編集後記

いかがでしたでしょうか。

For Next は効率化するにおいて切っても切れない大切な構文です。
コードを暗記する必要はありませんので、コピペでも何でも、積極的に利用し使用感を確かめて貰えれば より理解が深まると思います。

ちょっとだけ宣伝

こちらは宣伝になりますが、
もしVBA全般のルール・基本知識を身に付けたい方がいらっしゃいましたら、
本ブログでは「1週間で分かるVBA 」 なる記事もご紹介していますので、
一度 覗いてみてくれると幸いです。(当然、無料です。)


本ブログ記事をご覧いただいた皆様のVBAライフを少しでも充実させることが出来たのなら、管理人としては結構ハッピーです。

末筆ながら 今後ともどうぞよろしくお願いいたします。




-ALL, EXCEL, Program, Tips, VBA
-, ,