Sponsored Links
こんにちは!Lenocoです。本日も見てくださりありがとうございます。
今回はFor Nextを学びましょう!
Sponsored Links
Contents
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
Sponsored Links