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ライフを少しでも充実させることが出来たのなら、管理人としては結構ハッピーです。

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




  • この記事を書いた人

Nakamura(nkmr)

ブロガー│NakamuraBlog(ナカログ)運営 [月1.5万PV]│ 【経歴】IT会社に新卒入社 ▶︎ 通用しない ▶︎ プログラミングに出会う ▶︎ 年間1億円以上のコスト削減プログラムを開発 ▶︎ 会社賞受賞 ▶︎ 少しでも世の中の苦しんでる私と似た人に役に立てればと思いブログを開設。 ● 文系がプログラムと出会って会社員人生が変わった人。 ● 2020年より「嫁を置いて1人旅」の旅動画を投稿開始。

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