趣味のエクセルで当てよう!ロト・ナンバーズ

当選狙いで、ナンバーズ4をメインにロト、ビンゴ5などの各種データリストや、それらの分析用エクセルVBAなどについて書いてます。

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

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


以下で簡単に説明してみましたが詳しい内容は色んなサイトを読んでみてください。
(私には office  TANAKAさんのサイトが分かりやすかったです)
エクセルマクロ情報サイト - 趣味のエクセルで当てようロト・ナンバーズ


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


マクロ学習法とは 6(変数)



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


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


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


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


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



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


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



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


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


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


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


変数 知らなかった本当の使い方 


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


変数の適用範囲が広くなるほど変数の値が分かりにくくなるようです。
時には、変数の初期化も必要になることもあるようです。


私はほとんどでプロシジャーレベル変数を使ってます。
(難しいことは分からないのでw)