ExcelVBA

【エクセルVBA】Do …Loopステートメントで繰り返し処理をする

VBAの資格取得を応援する「パソコン教室ISA」ライターチームです。

VBAはエクセル操作自動化の最強のスキル、その自動化のコアはやはり繰り返し処理です。この記事ではDo Loopステートメントを使用した繰り返し処理についてご紹介します。

パソコン教室ISAの資料をダウンロード(無料)

「条件を満たしている間」繰り返し処理をする

VBAでの繰り返し処理には、For…nextステートメントがよく使われますが、条件付きの繰り返し処理をする場合には、Do…Loopステートメントが便利です。その中でも、「条件を満たしている間」繰り返し処理をするには、Whileキーワードを組み合わせて構文を作ります。

Do While … Loopステートメント

While以降の条件式が真(条件を満たしている)の間、Loopの前に記述した処理を繰り返します。

Do While 条件式
 条件を満たしている間繰り返す処理
Loop

以下のサンプルプログラムでは、メッセージボックスを3回表示して、繰り返し処理を抜けます。

Sub sample()
 Dim i ’変数 i の宣言
 i = 1  ’変数を1で初期化

 Do While i <= 3 ’ステートメントの開始 i が3以下の間繰り返し

   MsgBox i & “回目です”

   i = i + 1 ’変数 i に1を加算

 Loop

 MsgBox i & “で処理を抜けました”

End Sub

このサンプルコードでは、iというカウンタ変数を1から順に加算していくことでi<=3の条件を満たす間繰り返し処理を実行します。i=i+1の記述を忘れるとi=1のままなので、繰り返しが終了せず、「無限ループ」となります。無限ループが発生した場合には、慌てずにCtrl+Breakキーでプログラムを強制終了させましょう。

パソコン教室ISAのVBA講座を体験してみる(無料)

Do Loop While …ステートメント

Whileの位置をLoopの後ろにすると条件を満たすかどうかの判断する場所を変えることができます。

Do
 条件を満たしている間繰り返す処理
Loop While 条件式

先ほどのサンプルコードを少し修正します。

Sub sample()
 Dim i ’変数 i の宣言
 i = 4  ’変数を4で初期化

 Do

   MsgBox i & “回目です”

   i = i + 1 ’変数 i に1を加算

 Loop While i <= 3 ’ i が3以下の間繰り返し

 MsgBox i & “で処理を抜けました”

End Sub

このコードではi=4と初期化しています。Loopの後ろに条件式があるので、1度はステートメント内の処理が実行され、その後条件判定をします。メッセージボックスに「4回目です」と表示された後、i<=3を満たさないと判断がされて、処理を抜けます。

パソコン教室ISAのVBA講座を体験してみる(無料)

\ VBA試験の詳しい情報を受け取る /

VBAに関する資料をダウンロード

「条件を満たすまで」繰り返し処理をする

「条件を満たすまで」繰り返し処理をするには、Untilキーワードを組み合わせて構文を作ります。

Do Until … Loopステートメント

Until以降の条件式が真(条件を満たす)になるまで、Loopの前に記述した処理を繰り返します。つまり、条件を満たさない間は処理が繰り返し行われます

Do
 条件を満たすまで繰り返す処理
Loop Until 条件式

Sub sample()
 Dim i ’変数 i の宣言
 i = 1  ’変数を1で初期化

 Do Until i = 11 ’ステートメントの開始、i=11になるまで繰り返し

   Cells(i , 1)= i ’A列に i の値を代入

   i = i + 1 ’変数 i に1を加算

 Loop

 MsgBox i & “で処理を抜けました”

End Sub

このサンプルコードでは、iというカウンタ変数を1から順に加算してきます。i=11になるまで、A列にiの値が代入されます(A1に1、A2に2…)ので、結果的にセルA1からA10まで1~10の連番が代入されます。

パソコン教室ISAの資料を取り寄せる(無料)

まとめ

条件付き繰り返し処理は、エクセル作業の自動化に大変有効です。VBAの基本は体系的に学習しないとどこかで行き詰ることも多いです。体系的に学習をしたい場合は、パソコン教室や通信講座で学ぶのがおすすめです。

中でも、40年近い教室運営の実績を有するISAパソコン教室は、豊富な種類のVBA取得コースを提供しています。講師をすべて社員として教育の質を担保するなどの取り組みにより、日本マイクロソフトが1年に1社を選ぶLeaning Awardを10年間で3度受賞しています。効率的かつ質の高い学びの場を求める方は、下記の資料をご確認ください。

ABOUT ME
石井麻美
パソコン教室ISA講師の講師です。 主にOffice系(Word Excel Access PowerPoint)やVBAの授業を担当しています。 Microsoft Office Specialist VBAスタンダードクラウン 資格取得済
\ VBAの情報を手に入れよう/
関連するお役立ち資料
MOS試験に関する資料
MOS試験の概要や取得するメリット、受験科目の選び方や勉強方法を解説 ダウンロード
VBAに関する資料
VBAとはどういうものか?VBAの基本情報からできること、できないことを解説 ダウンロード
お気軽にご相談ください

パソコンに関する技術や、資格取得のご相談など、お気軽にお問い合わせください