超初心者でもわかるエクセルVBA(マクロ)

ループと算術演算子の組み合わせ

前々回で算術演算子、前回でループの解説をしました
今回はこの2つを組み合わせてプログラムを作成してみましょう
こちらのサンプルを使用します。必要に応じてダウンロードしてください

練習用エクセルデータをダウンロードする

チャレンジ[実際に書いてみよう!]
for~next文と算術演算子を使用して以下のように行番号3、列番号8から行番号12、列番号8にかけて
数量に単価を掛けたものを10行分連続で表示してみましょう


答え
Sub keisan()
Dim suuzi1
Dim suuzi2
For i = 1 To 10
suuzi1 = Worksheets(1).Cells(i + 2, 6)
suuzi2 = Worksheets(1).Cells(i + 2, 7)
suuzi3 = suuzi1 * suuzi2
Worksheets(1).Cells(i + 2, 8) = suuzi3
Next i
End Sub

実行結果


1行ずつ解説します
Sub keisan() ←keisanという処理のまとまりを作るよ
Dim suuzi1 ←suuzi1という変数を作って
Dim suuzi2 ←suuzi2という変数を作って
For i = 1 To 10 ←iという変数を作って1を代入。iが10になるまで下の処理を繰り返すよ
suuzi1 = Worksheets(1).Cells(i + 2, 6) ←行i+2、列6のデータをsuuzi1に代入して
※欲しいデータが入っているセルは行3、列6からスタートします。iは1からスタートするので+2するのを忘れずに
suuzi2 = Worksheets(1).Cells(i + 2, 7) ←行i+2、列7のデータをsuuzi2に代入して
※欲しいデータが入っているセルは行3、列7からスタートします。iは1からスタートするので+2するのを忘れずに
suuzi3 = suuzi1 * suuzi2 ←suuzi1とsuuzi2を掛けたものをsuuzi3に代入して
Worksheets(1).Cells(i + 2, 8) = suuzi3 ←行i+2、列8にsuuzi3の中身を表示して
※表示したいセルは行3、列8からスタートします。iは1からスタートするので+2するのを忘れずに
Next i ←iが10を以下ならiを+1してfor文の下の処理まで戻るよ。10を超えたらfor~next処理を終えるよ
End Sub ←keisan処理の終わり


前の記事へ ホームへ戻る 次の記事へ
©2023 TSM-engineering.