Excelマクロの練習⑧(繰り返し処理の中に繰り返し処理)

wp-datacare

今回の課題は、繰り返し処理の中に繰り返し処理があります。

少々混乱するかもしれません。
しかし、インデント(字下げ)の設定を使ってそれぞれの繰り返し処理を区別させると区別できます。

練習用のファイルはこちらからダウンロードできます。

前回の練習問題とほぼ同じです。
オレンジ色のセルの部分が異なっています。
前回の算出は一つだけでしたが、今回は種別が4つあります。

種別(しゅべつ)とは?

種別は、PS区分 & 貸料金 の情報の事です。

例)パチンコ4円 パチンコ1円 スロット20円 スロット5円

  5スロ 1パチ 4パチ

店長
店長

この機種の種別は?

主任
主任

5円スロットです。

使い方はこんな感じです。

 

 

ダイコク電機が 種別 と呼んでいます。
ホールコンから出力されるZA形式ファイルにも 種別略称 の項目がありますね。
パチンコのデータ用語では、ダイコク用語使っておけばこの業界は間違いありません。

 

今後もこのブログでは、PS区分 & 貸料金 の呼称を『種別』します。
覚えておいて下さい。

今回は、種別を4つ算出させます。
どんどんレベルがアップして実務っぽいですね。

模範解答は以下のとおりです。
(ダウンロード用できるExcelブックにも模範解答はあります。)

このコードを実行すると以下のようになります。

今回次の順番で処理を行っています。

  • パチンコ 4円 の売上額の取得
  • パチンコ 1円 の売上額の取得
  • スロット 20円 の売上額の取得
  • スロット 5円 の売上額の取得

これがオレンジのセルの部分です。

また、前回の問題と大きく異なるのが以下のコードです。

lngUriage = 0 ‘売上を加算する変数の値をゼロに戻す

これは 「パチンコ4円の売上額を取得する処理」の次に「パチンコ1円の売上額を取得する処理」になります。
「パチンコ1円の売上額を取得する処理」の最初の時点で、lngUriageにパチンコ4円の売上の数値が残っています。
そのためにゼロに戻す必要があります。


もしゼロに戻さなかった場合次のようになります。

下に行けば行くほど数値が大きくなっています。
スロット20円の売上合計額 には パチンコ4円+パチンコ1円+スロット20円 の合計になっています。

変数をゼロや空白に戻す処理は、実務ではよく使います。
私もたまに忘れて、お客様のExcelマクロ作成でミスる事があります。
注意が必要です。

今回の問題はステートメントが盛り沢山ですね。
Ifステートメントの中にIfステートメント、さらにFor~Nextステートメントで囲って、その上にFor~Nextステートメントで囲っています。
頭がパニック状態になると思います。

通常ここら辺からExcelマクロの学習で脱落者が増えていきます。
混乱せずにプログラムコードを組む方法があります。
自分の名前を付けて「酒見メソッド」と言っていますが。

こちらについては、近日解説をします。
目からうろこです。お楽しみに。

今回はここまでです。

ABOUT ME
酒見 拓也
酒見 拓也
代表取締役
パチンコ企業向けにExcelマクロを使って業務の自動化、効率化のやり方を発信しています。 企業向けに「Excelマクロ研修」も行っています。
記事URLをコピーしました