【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」アイ 愛がひとつずつ増える
なんだかいい響きですね
はい、余談でした笑
入れ子構造(ネスト)について
先程は行だけが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になるまで繰り返します
応用して九九も表示させることができました
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
まとめ
繰り返しのFor Nextステートメント
慣れてしまえばシンプルで分かりやすかったかなと思います
処理が一瞬で終わるため
繰り返し実行されている感覚は無いですが
一つずつF8キーで見ていくと
ちゃんと実行されていました
また別の繰り返しの構文があるみたいなので
それは次回の学習内容とします
「VBAマスターに俺はなる」
最後まで読んでいただき
ありがとうございます
安田
マガジンにまとめてありますので
よかったらそちらも御覧ください
この記事が気に入ったらサポートをしてみませんか?