![見出し画像](https://assets.st-note.com/production/uploads/images/137783927/rectangle_large_type_2_67223a653e401d801c0e7d1d74c5957e.png?width=1200)
【Day17】文系オタクのエンジニア道~繰り返し For Next文~
こんにちは
安田です
今回も繰り返しの制御文
For Nextステートメントについて学びました
For Nextステートメントは繰り返しのときに使用する
For Nextステートメントは処理を繰り返すときに使用します
書き方としては
Forの条件をNextで囲む形です
Sub 繰り返し()
Dim i As Long
For i = 1 To 3
Cells(i, 1).Value = i
Next i
End Sub
変数「i」を宣言します
For i = 1 To 3
1から3まで「i」を繰り返すというコードです
Cells(i, 1).Value = i
セルの番地を示しています
(i, 1) i = 行、1 = 列を表しており
「i」が一つずつ増えていくので
上記のコードだと
A1→1
A2→2
A3→3が入ります
余談ですが「i」アイ 愛がひとつずつ増える
なんだかいい響きですね
はい、余談でした笑
![](https://assets.st-note.com/img/1713498015391-nKcYtGYaUg.png)
入れ子構造(ネスト)について
先程は行だけが1ずつ増えていきましたね (i, 1)
次は行と列、どちらも変数を定義してみます
Sub 繰り返し2()
Dim i As Long
Dim j As Long
'入れ子構造(ネスト)
For i = 1 To 3
For j = 1 To 3
Cells(i, j).Value = "オラオラオラオラ"
Next j
Next i
End Sub
For文の中に更にFor文を追加することを「入れ子構造(ネスト)」と呼びます
変数「i」のあとに「j」を定義します
「i」「i」「k」がよく使われる変数みたいです
上から実行していくと
まず「i」「i」に「1」が入ります
For j でループするので
次は列の数字が増えていきます
A1、B1、C1に値が入ります
「j」 が3回繰り返しされたら
次は「i」が「2」になるので
A2、B2、C2にオラオラオラオラと値が入ります
それを「i」が3になるまで繰り返します
![](https://assets.st-note.com/img/1713498772341-WTVijJbliM.png)
応用して九九も表示させることができました
Sub 九九()
Dim i As Long
Dim j As Long
For i = 1 To 9
For j = 1 To 9
Cells(i, j).Value = i * j
Next j
Next i
End Sub
![](https://assets.st-note.com/img/1713499093726-vRzARE7yjM.png?width=1200)
まとめ
繰り返しのFor Nextステートメント
慣れてしまえばシンプルで分かりやすかったかなと思います
処理が一瞬で終わるため
繰り返し実行されている感覚は無いですが
一つずつF8キーで見ていくと
ちゃんと実行されていました
また別の繰り返しの構文があるみたいなので
それは次回の学習内容とします
「VBAマスターに俺はなる」
最後まで読んでいただき
ありがとうございます
安田
マガジンにまとめてありますので
よかったらそちらも御覧ください