こんなあなたにおすすめ
・Excel VBAでWhile Wendによるループ処理をしたい
・Excel VBAでDo Whileによるループ処理をしたい
・Excel VBAでDo Loop Whileによるループ処理をしたい
Excelでいろんな作業をしているときによく繰り返し処理をすることがあります。
そんなとき、手作業でやっていると面倒くさいですし、時間がかかってしまうと思います。
そこで、Excel VBAのWhile Wend、Do While、Do Loop Whileを使うことで、何十倍もの効率アップを図ることができます。
上記3つは、条件が満たされているときだけループ処理を実行し、条件が満たされなかった場合に、ループ処理を抜けることができます。
また、特定の条件でループを抜けたりすることも可能です。
手作業で繰り返し処理をやっているという方は、この機会にExcel VBAで自動化してしまいましょう。
Excel VBAでWhile Wendによるループ処理をしたい
While Wendは、条件式がTrueの場合にループ処理を実行し、条件式がFalseの場合、ループ処理を終了します。
基本構文は下記の通りです。
While 条件式 '実行したい処理を記述 Wend
Sub test1() Dim i As Integer '変数iを定義 While i 3 'iが3未満のとき、ループ処理を継続する i = i + 1 'iにi+1したものを代入する Cells(i, 1).Value = i 'iの値をセルに入力する Wend End Sub
Excel VBAでDo Whileによるループ処理をしたい
Do Whileは、While Wendと同様に条件式がTrueの場合にループ処理を実行し、条件式がFalseの場合、ループ処理を終了します。
基本構文は以下の通りです。
Do while 条件式 '実行したい処理を記述 Loop
Sub test2() Dim i As Integer '変数iを定義 Do While i 3 'iが3未満のとき、ループ処理を継続する i = i + 1 'iにi+1したものを代入する Cells(i, 1).Value = i 'iの値をセルに入力する Loop End Sub
Excel VBAでDo Loop Whileによるループ処理をしたい
Do Loop Whileは、While Wend、Do Whileと異なり、最初に条件式がFalseの場合でも1度プログラムを実行します。
これは、プログラムを実行した後に、条件式でTrueなのかFalseなのかを判断し、ループ処理を実行するかを決めているためです。
基本構文は下記の通りです。
Do '実行したい処理を記述 Loop While 条件式
Sub test3() Dim i As Integer '変数iを定義 'iが3未満のとき、ループ処理を継続する Do i = i + 1 'iにi+1したものを代入する Cells(i, 1).Value = i 'iの値をセルに入力する Loop While i 3 'iが3未満のとき、ループ処理を継続する End Sub
ループ処理を抜けたい
ループ処理を抜けたい場合、Exit Do、GoToを使うことで、ループ処理を抜けることができます。
ループ処理を抜けたい場合・・・Exit Do
ループ処理で一部の条件をスルーしたい場合・・・GoTO
Exit Do
下記のコードでは、i=2の条件を満たすことで、Exit Doが実行されます。
その結果、Excelには1のみ入力され、ループ処理を抜けることができます。
Sub test4() Dim i As Integer '変数iを定義 Do While i 3 'iが3未満のとき、ループ処理を継続する i = i + 1 'iにi+1したものを代入する If i = 2 Then 'iが2のときに実行する Exit Do 'ループ処理を抜ける End If Cells(i, 1).Value = i 'iの値をセルに入力する Loop End Sub
GoTo
GoToのラベル先をDo While Loopの先頭に指定します。
GoToの部分に到達すると以降の処理は実行されずに、Gotoのラベル部分から再び処理を実行していきます。
Sub test4() Dim i As Integer '変数iを定義 Do While i 3 'iが3未満のとき、ループ処理を継続する L1: i = i + 1 'iにi+1したものを代入する If i = 2 Then 'iが2のときに実行する GoTo L1 'L1に戻る End If Cells(i, 1).Value = i 'iの値をセルに入力する Loop End Sub
まとめ
ここまで、While Wend、Do While、Do Loop Whileについて解説しました。
繰り返し処理を手作業でやると非効率ですし、人がやるとミスする可能性もあります。
この機会にExcel VBAで自動化してしまいましょう。
For Nextによるループ処理の方法もあるため、下記の記事をご参照ください。
>>【ExcelVBA】For Next文 繰り返し(ループ)処理
Excelで作業効率をアップしたい方は、下記の記事もご参照ください。
>>Excelのショートカット一覧 覚えて作業効率アップ!!
>>Excelで覚えておくべき関数 作業効率アップ間違いなし
オンラインスクール受講者数No.1!
・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!
・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!
・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!
・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!
無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら
[…] ご参照ください。 関連記事:【ExcelVBA】ループ処理 While、Do While、Do Loop While […]