Excel VBA

【Excel VBA】【マクロ】【Tips】For Nextを学ぶ

こんにちは!Lenocoです。本日も見てくださりありがとうございます。

今回はFor Nextを学びましょう!

For Nextを学ぶ

単価と個数が入った表があるので、掛け合わせた金額をE列に入力していくマクロを作りましょう。

コード

Sub Main()
    Dim lastRow As Long
    Dim i As Long
    
    lastRow = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row
    
    For i = 3 To lastRow
        ActiveSheet.Cells(i, "E") = ActiveSheet.Cells(i, "C") * ActiveSheet.Cells(i, "D")
    Next i
End Sub

コードの説明

変数を宣言します。
今回は、最終行を可変にできるようにしているため、最終行を格納する変数を作成しています。
また、For Nextで必須のカウンタ変数を宣言しています。
最終行は、xlUpを使用し、Excelの最大行から上へ向かって最終行を取得しています。
そうすることで、もし間に空白セルがあったとしても最終行を正しく取得できます。
続いてループの処理です。
カウンタ変数には開始行番号を入れています。そして最終行まで繰り返すようlastRowを設定します。
各行のC列(単価)とD列(個数)を掛け合わせた結果をE列(金額)にいれています。
Next のあとにカウンタ変数を記載していますが、これは省略可能です。
この程度のコードであればループの開始と終了はわかりやすいですが、
実務で使用するようなマクロだとループが何重にも入れ子になることがあります。
そんなときに開始と終了のペアがわかりやすいよう、わたしはいつも省略せずいれるようにしています。

さいごに

基本のFor Nextの使い方を解説しました。
うまく動けば以下の結果になるはずです。

あくまで私流のやり方ですが、参考にしていただければと思います!

Lenoco

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です