見出し画像

【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」アイ 愛がひとつずつ増える
なんだかいい響きですね
はい、余談でした笑

実行結果 i の数値がA列に入りました

入れ子構造(ネスト)について

先程は行だけが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マスターに俺はなる

最後まで読んでいただき
ありがとうございます
安田

マガジンにまとめてありますので
よかったらそちらも御覧ください


この記事が気に入ったらサポートをしてみませんか?