趣味のエクセルマクロ&数字選択式宝くじ

ナンバーズ4などの数字選択式宝くじデータ分析用の自作マクロおよびナンバーズ4などの各種データリストなどをブログにしています。

マクロ学習法とは 10(続・変数)

変数(へんすう)には使い方があるようです。ややこしいですが確認して見ました。


以下で簡単に説明してみましたが詳しい内容は色んなサイトを読んでみてください。
(私には office  TANAKAさんのサイトが分かりやすかったです)


モジュール内に書いてあるマクロをプロシジャーと言う。
モジュール内には複数のマクロも書ける。




1・変数の適用範囲(スコープ)


 (1)プロシジャーレベル変数(プロシジャー内でしか使えない)
   ひとつのプロシジャー(マクロ)内で使用する場合


    ・マクロ内で宣言する (変数を使用する前、最初に宣言)


   
 (2)モジュールレベル変数(各プロシジャーで共通して使える)
   色んなマクロが同じモジュールに有る場合、各マクロで使える


    ・モジュールの先頭で宣言する(マクロ内でなく)



 (3)パブリック変数(各モジュール内で共通して使える)
   複数モジュールがある場合、各モジュールのプロシジャーで使える


    ・Public を変数名の前に付ける



  変数の適用範囲によって変数の使用期間があるようです。


  プロシジャーレベル変数はそのマクロが終われば値は無くなる。


  モジュールレベル変数やパブリック変数も使用期間がありますね。
  (パブリック変数は値が残るので注意する必要があるようです)


  実際のマクロを見て覚えるようにしたのが良いようです。
  (変数の値変化を確認するのが良いようです)


パブリック変数はモジュールが複数ある場合らしいですが、ここではモジュールが1つなのでモジュールレベル変数でも良かったようです。
(他のモジュールでパブリック変数を使うようなマクロが無かったw)


変数の適用範囲が広くなるほど変数の値が分かりにくくなるようです。
私はほとんどでプロシジャーレベル変数を使ってます。