VBAを使っていると「参照設定」をしなければならない場面が多々あります。
ネット上で拾ってきたコードをコピーして使ったら、それが参照設定が必要なコードで必要なライブラリを調べて、設定画面でライブラリを探し出してチェックを入れるのが億劫になっていませんか?
それを手軽に解消する方法の一つとして、私が実施している「個人用マクロ」を活用するという小ネタを紹介します。
参照設定はめんどくさい
早速ですが「参照設定」めんどくさくないですか?
たった数十秒で済む作業ですが、私はあまりやりたくないです。
いくらアルファベットで昇順に並んでいるとは言え、そっくりのライブラリが沢山並んでいて目がチカチカすると共に、マウスホイールが使えないのもあって行き過ぎたり戻りすぎたりして見失ったりと、無駄にストレスのたまる作業です。
少しでも早く発見したコードを実行したい人にとって、こんな事で思考が邪魔されるのは嫌ですよね?
というわけで、超簡単な対処法があります。
新、個人用マクロの活用法
それは・・・
個人用マクロによく使うライブラリの参照設定を全て登録しておくこと
です。
以上!!!
で終わってしまうと、文字数が足りないという大人の事情もございまして、ちゃんと説明していきますね♪
さて、実際に私が登録しているものは、下図のとおりです。
すると、他のプロジェクトで参照設定を開いた時、個人用マクロのプロジェクトで参照したライブラリが上位に集まります。
ちなみに、個人用マクロを開いていない時はこのような状態です。
ロジックの説明
図を見ていただいて分かるように、参照設定のダイアログは
- 現在選択されているプロジェクトで参照しているライブラリ(チェックON)
- (今開いている)他のプロジェクトで参照しているライブラリ
- 参照されていないライブラリ
という大区分で並んだ後、アルファベットで昇順になるように並んでいます。
だから、個人用マクロで使っている使っていないに関わらず、使った事のあるライブラリは全部参照設定しておいたほうが、後々の参照設定が楽になります。
それだけ!? ええ、それだけです。 それだけ・・・。
でもこれが意外と大きいんですよ。参照先のライブラリ名を正確に暗記する必要がなくなりますからね。
個人用マクロについて
個人用マクロについて知らない人もいるかもしれないので、ちょっとだけ説明するとPERSONAL.XLSB
という名前のエクセルバイナリブックです。
見かけない拡張子ですが、マクロ有効ブック(XLSM)と出来ることはあまり変わりません。お気になさらず。
まあとにかく、個人用マクロを有効にした時このブックが自動作成され、Excel起動時に自動的に開いてくれるというスグレモノなのです。(本件はアドインでも実現できますが、それはツッコまないでクダサイ)
だから個人用マクロに参照設定を仕込んでおけば、使いたい参照設定がいつでもどこでも上位に並ぶというわけですね♪
個人用マクロ(PERSONAL.XLSB)なんて見つからないよ?って人は、下図の方法で作成できますので試してみてください。
- 左下にマクロの記録ボタンを表示
- マクロの記録を開く
- 個人用マクロを選択して記録を開始
- すぐに記録を停止
- Alt+F11でVBEを起動して、PERSONAL.XLSBが出現していることを確認
- VBAプロジェクトを選択して参照設定を実施
- 保存時にPERSONAL.XLSBを保存するか聞かれるので保存しておく
これ以上の詳しい説明はggrks
その他の解決法
今回は紹介しませんが、参照設定に関しては皆さん対策をしている方もおられるようです。
- 新規作成されるブックに予めすべて参照設定しておく
- VBAから参照設定を行う
- コードを解析して必要な参照設定だけ行う
- レイトバインディング(CreateObject)を使用して、そもそも参照設定を不要とする
どれも、素晴らしい対応でしょう。
ところで、最後のレイトバインディングに関しては、VBEのインテリセンス(入力候補)が表示されなくなるのが痛いですよね。
お好みではありますが、開発中はアーリーバインディングでコーディングして、リリース前にレイトバインディングにするような対応をしたいですね♪
まとめ
今回は個人用マクロはこんな使い方もできますよ。ってことが言いたかっただけです。
ただ、参照先のライブラリは覚えていられないよ~>< って人でも、上位に並んでるのが使えるやつだと分かるだけでも、調べる手間が省けますよね?
私にとっては真っ先に整えたい開発環境の一つです。
是非、みなさんもお試しあれ
読んで頂きありがとうございました。
以上
何か御座いましたらコメント欄、またはTwitterからどうぞ♪
それではまた来週♪ ちゅんちゅん(・8・)