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

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

マクロ学習法とは 11(静的変数)

Staticで変数を宣言するとマクロが終了しても値が保持されます。
(プロシージャのみで宣言する)




日経パソコンさんに載っていた下記のマクロの場合


Sub Sample1()
   Static Number As Long ''静的変数を宣言する
   Number = Number + 1 ''変数の値を1つ増加させる
   MsgBox Number ''変数の値を表示する
End Sub


 上記のマクロは、実行するたびに変数の値が増加していきます。これは、プロシージャが終了しても変数の値が破棄されないからです。

 静的変数は、プロシージャの中で宣言しなければなりません。モジュールレベル変数やパブリック変数を、静的変数として宣言することはできません。


と記述してました。


(マクロを2回起動させたらメッセージボックスに上の様に1から2に変化しました。)


もっとも、セルに入出力させる値を入れて参照すれば良いと言う人もいますね。
複雑な事をさせなければセルも変数がわりになりますね。


わたしは殆ど使ったことはないですが今後は使って見たいと思います。


(昔、縦に並んだデータを元に横に並べる表を作った記憶があります。)



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