News & Information

~ 良いものを創造し、”よろこび”を提供する ~

TOPblog ⟩ Excel VBAの参照設定の優先順位(参照不可)

Excel VBAの参照設定の優先順位(参照不可)

2008/11/28

あることは知っていたけど、意味がわからなかった参照設定の優先順位。
これの意味がわからなかった。せいぜい処理速度の問題かなとか、適当に解釈していましたが、ようやくわかりました。アドイン、COMなどを導入するときに、同じ関数名など存在した場合、優先順位の上位のものを採用される、ということのようです。

WORKDAY関数
これがExcel2003までは、アドインで分析ツールを追加することで使えていたものが、Excel2007では標準で使えます。古いExcel2002とかで作ったWORKDAY関数が組み込まれたものがあった場合、それをExcel2007で開いてしまうと新しいWORKDAY関数を参照してしまい、うまくいきません。これは、直接アドインのファイル名を指定することで対応できるのですが、それはさておき、そういうのってわかりづらいですよね。

参照設定画面で「参照不可:」と表示されているもの
参照設定画面の中で「参照不可:」と表示されることがあるとおもいます。
別の端末で作成したExcelを開いたときに、COMやAddinがその端末には存在しなければ、参照不可ですので、「参照不可:」となります。実はこれが大問題となるとはわかりませんでした。
「参照不可:」が存在しているその下で□にチェックが入っていて有効に見えても、優先順位の上位に「参照不可:」があれば、それ以下のものはすべて使えなくなっておりました。

単純に、優先順位を上位にすれば、問題解決しました

参照不可だったら、自動的に優先順位を下げるなり、無視するなりできないものですかね。警告くらいでてもいいものですよ。
ちょっと不親切ですね。

余談ですが、Excel2007からのVBAは、マウスのホイールが使えます!。スクロールするんですよ!
たった一つのことですが、このスクロールができるとできないでは、ずいぶんとストレスでしたから。
些細なことだけに見送られていた機能かもしれませんが、こういうの大事ですね。
 

仲間大募集!

現状に満足することなく常に新しい技術を学び、問題解決に取り組める方、
積極的に新しいことにチャレンジしたい!とお考えの方、
ご自身のスキル・経験を活かしてお仕事をしたいとお考えの方を
心より、お待ちしております!!

現状に満足することなく常に新しい技術を学び、問題解決に取り組める方、 積極的に新しいことにチャレンジしたい!とお考えの方、 ご自身のスキル・経験を活かしてお仕事をしたいとお考えの方を 心より、お待ちしております!!