目次
概要
繰り返し処理に関するVBAのTIPS。になればよいけどリンク集。
繰り返し処理
- For文
Dim i As Integer For i = 0 To 4 If i <> "" Then Exit For End If Next
- Do While文
Dim i As Integer: i = 0 Do While i < 5 If i = 3 Then Exit Do End If i = i + 1 Loop
- Do Until文
Dim isOk As Boolean: isOk = False Do Until isOk ' 条件を満たすまで繰り返し isOk = check(hoge) Loop
繰り返し文の途中で抜ける
- For文
For i = 0 To 4 If 条件 Then Exit For ' 条件を満たす場合、For文を抜ける。 End If Loop
- Do While文・Do Until文
i = 0 Do While i < 5 If 条件 Then Exit Do ' 条件を満たす場合、Do While文を抜ける。 End If Loop
Collectionのループ
Count で要素数を取得できるので、それで For ループを回すことができる。
もしくは、 For Each でループすることもできる。
Dim list As New Collection list.Add "hoge" list.Add "fuga" list.Add "piyo" ' Count で要素数を取得してループ Dim i As Integer For i = 1 To list.Count Debug.Print (i & " : " & list(i)) Next ' For Eachでループ Dim e As Variant For Each e In list Debug.Print e Next
- 実行結果
1 : hoge 2 : fuga 3 : piyo hoge fuga piyo
Dictionaryのループ
Dim Map As New Dictionary Map("hoge") = "Hoge" Map.Add "fuga", "Fuga" Dim Key As Variant For Each Key In Map Debug.Print "Key=" & Key & ", Value=" & Map(Key) Next
- 実行結果
Key=hoge, Value=Hoge Key=fuga, Value=Fuga
TIPS
別ページの一覧を入れる。
'IT系/VBA/基本/繰り返し処理/' には、下位層のページがありません。
リンク集
重複を恐れないリンク集。
- For...Next ステートメントを使用する (VBA) | Microsoft Docs
- For...Next ステートメント (VBA) | Microsoft Docs
- For Each...Next ステートメントを使用する (VBA) | Microsoft Docs
- For Each...Next ステートメント (VBA) | Microsoft Docs
- Do...Loop ステートメント (VBA) を使用する | Microsoft Docs
- Do...Loop ステートメント (VBA) | Microsoft Docs
- While...Wend ステートメント (VBA) | Microsoft Docs
- より高速Next ループ (VBA) | Microsoft Docs
- VBのFor文でのStepの仕様を微妙に勘違いしていたっぽい - Qiita
- 繰り返し処理(For Next)|VBA入門
- 繰り返し処理(Do Loop)|VBA入門
- 同じ計算を行数分繰り返す(For~Next)|VBA再入門
- For Next の使い方いろいろ|VBA技術解説
動画
- (チュートリアル道場) Excel VBA入門 レッスン24 For Next文 - YouTube
- (チュートリアル道場) Excel VBA入門 レッスン31 For each文 - YouTube
- (エクセル兄さん たてばやし淳) 試聴⑥ 繰り返しを自動化! For...Next - VBAエキスパート試験対策講座 - YouTube
- (いつも隣にITのお仕事) 【初心者向けエクセルVBA】For~Next文で簡潔にプログラムを書く - YouTube
- (メンタエクセル) エクセル VBA 11 ある回数繰り返す! For next プログラミング - YouTube
- (メンタエクセル) エクセル VBA 12 ◯◯まで繰り返す! Do Loop プログラミング - YouTube
- (メンタエクセル) エクセル VBA 46 For Each 使い方 繰返し処理について説明します! プログラミング - YouTube
- (Mr.ラビットのにょきにょきパソコン講座) 【エクセルVBA講座】FOR文~繰り返し処理を理解しよう~【上級6回】 - YouTube
- (IT係長) 【Excel|VBA】繰り返し For Next★ - YouTube