For … Nextステートメント2

目次

For … Nextステートメント Stepの使い方

今回はこの記事の続きになります。

Stepの用法やネストの考え方について学んでいきましょう。

今日使う実例はこちらになるよ!
空の”Sheet1″シートを準備してね!

Sub For_Next_Statement2()

    Dim i As Long
    Dim j As Long
    
    '"Sheet1"シートをアクティブにします
    Worksheets("Sheet1").Activate
    
    For i = 1 To 10 Step 2
    
        Cells(i, 1) = i
    
    Next i
    
    Stop
    
    'A1セル~A10セルの値を消去
    Range("A1:A10").ClearContents
    
    For i = 10 To 1 Step -1
    
        Cells(i, 1) = i
    
    Next i
    
    Stop
    
    'A1セル~A10セルの値を消去
    Range("A1:A10").ClearContents
        
    For i = 1 To 9
    
        For j = 1 To 9
        
            Cells(i, j) = i * j
            
        Next j
    
    Next i
    
End Sub

For … Nextステートメントは回数を指定しその回数分繰り返し処理を行う命令です。

おさらいになりますが下記が基本書式になります。

For 変数名 = 初期値 To 終了値

   処理

Next 変数

実例の9行目のように、終了値の後ろにStep 2とすることで1ずつではなく2ずつ変数iの値を増加させることができます。Stepを指定しないとStep 1と指定されたのみなされます。

    For i = 1 To 10 Step 2
    
        Cells(i, 1) = i
    
    Next i

実例の動作結果、上記の通り初期値1から2ずつ増加させたので、1~10までの奇数行のみに数値が代入されました。

    For i = 10 To 1 Step -1
    
        Cells(i, 1) = i
    
    Next i

Stepはこのようにマイナスを使って繰り返し毎に変数の値を減少させることも可能です。

For … Nextステートメント ネストの使い方

実例31行目~39行目のようにFor … Nextステートメントの中に、別のFor … Nextステートメントを記述することもできます。

このようにステートメントのなかにさらにステートメントを組み込むことをネストと呼びます。

下記はネストを使いワークシート上に九九の値を代入しています。

    For i = 1 To 9
    
        For j = 1 To 9
        
            Cells(i, j) = i * j
            
        Next j
    
    Next i

Cells(i,j)におけるセル毎の変数は下記イメージになります。

このように可視化するとわかりやすいと思いますので、実例を動かしながら身につけていきましょう。

まとめ

今回はFor … NextステートメントのStepの用法とネストの用法について学びました。

If ステートメントとともに、実務でも多用しますのでぜひ習得してください。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

この記事を書いた人

ものおと申します。

10年以上の大手メーカー勤務経験のあるエンジニアです。

これまでのものづくりの経験から小学生にも伝わるExcel VBAお役立ち記事を発信していきたいと思います。

よろしくお願いします。

コメント

コメントする

CAPTCHA


目次