エクセルマクロの紹介です。僕がVBを勉強している人にいつも言うことは、VBが出来ればエクセルのマクロやAccessもできることだと言っていますが、今回実際に作ってみて・・・、かなり大ウソかも・・・。もっちょっと、何とかなりませんかね、マイクロソフトさん。オブジェクトが扱いにくいったらありゃしない。単に僕が簡単なやり方を知らないだけ!? いちいち、使いたいコントロールをコレクションをたどっていかないといけないと言うのはどうも・・・。
前置きは置いといて、実際に作っては見たものの、上のようなわけで手こずりました (^m^; もう少し実用的な物を作りたかったんですが、今回はデータを表示するだけのものを作りました。使い方は[ツール]−[マクロ]メニューを選択し、マクロの実行画面で[sMacroStart]を選択して、[開始]ボタンを押すと、 マクロが実行さてます。現れた画面左側のリストボックスの名前を選択すると、その名前に関するデータ右側にあるエディットボックスに表示されます。
表示されるデータは「dataSheet」シートのデータを変更するとマクロで表示されるデータも変化します。プログラムでは名前のフィールドに記述が無くなったらそこでデータは終わりだと判断するので、名前のフィールドをあけておくと、そこまでしか読み込みません。ちなみに、[dialog]シートがマクロで表示されるダイアログのデータ、[Module]シートが実行されるマクロのコード、即ち、プログラムです。
普通、マクロを使って何をするのかは人によりますが、Sum 等の関数だけでは計算しきれないものでも、プログラムが出来れば何とでもなるので、計算できる幅か広がります。その上、このような画面を開いてデータを表示したりもできるし、データの入力を促すような画面ももちろん作れます。普通、直接データシートにデータを入力すると思いますが、もっと効率良く、データ入力をする事も出来るようになると思われます。そのプログラムを書く言語を、マイクロソフトではVBAとして、Microsoft Excel、Microsoft Visual Basic、Microsoft Access で使う言語が半統一されてます。半統一と書いたのは、それぞれに独特のコーディング法があるので、いまいち扱いにくいと感じたので、何とかして欲しいところなんですが、マイクロソフトが独走している限り、VBAは使えると何かと役に立つと思います。