俺の開発研究所

Ruby on Rails、Linux、Windowsを中心にIT技術系の備忘録とか。よく忘れるので。

*

VBAのループ(繰り返し)処理まとめ

      2014/10/07

VBAとは、MicrosoftのExcelなどのアプリケーションに機能拡張をするためのマクロ言語。

Visual Basicがベースとなっているプログラミング言語で、Excelで手作業で行っていたものを自動で行いたい場合など、結構活躍してくれる。

今回は、よく使うVBAのループ(繰り返し)処理をまとめてみた。

スポンサード リンク

ループする回数が決まっている場合(For ~ Next)

10回ループさせる例。

10セル分の値を加算し、合計を算出している。

増減値2で10回ループさせる例。

1つ飛ばしで、10セル分の値を加算し、合計を算出している。

オブジェクトをループさせる場合(For Each In ~ Next)

ワークブックオブジェクトのワークシートをループさせる例。

ワークブックの全てのワークシート名を連結させ、表示している。

条件が満たされる間ループさせる場合(Do While ~ Loop)

セルの値が入っている場合に加算していく例。

セルの値が入っているものを加算し、合計を算出している。

条件が満たされるまでループさせる場合(Do Until ~ Loop)

セルの値が「EOF(End Of File:ファイルの終端)」の行まで加算していく例。

「EOF」までのセルの値を加算し、合計を算出している。

ループを抜ける場合

ある条件になった時にループ処理を抜けたい場合は、「Exit」文を使用し、以下のようにする。

「For ~ Next」の場合

ループカウンタが5になった場合にループを抜ける例。

「Exit For」でループ処理を抜ける。

「Do ~ Loop」の場合

ループカウンタが5になった場合にループを抜ける例。

「Exit Do」でループ処理を抜ける。

ちなみに、サブプロシージャを抜ける「Exit Sub」、ファンクションプロシージャを抜ける「Exit Function」もよく使用します。

以上。

参考サイト

Excel(エクセル)VBA入門:繰り返し処理(For~Next,Do~Loop)

 - VBA