Excelマクロの練習⑦(変数活用)

datacare1
今回の課題は、変数を活用した繰り返し処理です。
複雑な処理では、多くの変数が使用されます。
変数に慣れるためにも、積極的に変数を使用していきます。
練習用のファイルはこちらからダウンロードできます。
今回の課題は以下のような一覧です。

セルJ5に売上合計額を表示させます。
また、PS区分と貸料金は以下のようにリストで選択できるようにしています。

今回は、リストで条件を変更する事で結果が異なる仕様になっています。
実務に近い練習問題です。
模範解答は以下のとおりです。
Sub サンプル() Dim i As Long Dim strPS As String ‘PS区分用の変数 Dim lngPrice As Long ‘貸料金用の変数 Dim lngUriage As Long ‘売上額を加算させるための変数 strPS = Range(“H5”).Value ‘PS区分を変数へ代入 lngPrice = Range(“I5”).Value ‘貸料金を変数へ代入 For i = 5 To 24 If Cells(i, 3).Value = strPS Then ‘PS区分が一致するか If Cells(i, 4).Value = lngPrice Then ‘貸料金が一致するか lngUriage = lngUriage + Cells(i, 6).Value ‘売上額を加算 End If End If Next i Range(“J5”).Value = lngUriage ‘加算した売上額をセルに入力 End Sub |
このコードを実行すると以下のようになります。(PS区分と貸料金により結果はことなります)

今までの練習と異なるのは、strPS と lngPrice の変数を使用している事です。
strPS には、パチンコ又はスロット の文字が入るため 文字列型のStringを使用します。
lngPrice には、整数の貸料金が入るため 長数値型のLongを使用します。
5行目~24行目の条件に一致する売上額を 変数 lngUriage に加算させます。
全ての行の処理が終わったら lngUriageに代入したら値をセルJ5に入力させています。
今回はここまでです。
次回は、変数名(命名)について解説をします。
ABOUT ME