• ベストアンサー

ユーザー定義関数をEXCELに常駐させたい

VBAの標準モジュールで作成したユーザー定義関数を、*.bas形式でエクスポートしています。 エクセルを立ち上げるたびに、インポートしなければならず、非常に手間です。 また、*.basファイルを職場の仲間にも広めたいと思っているのですが、毎度インポートすることになると、面倒になります。 そこで、誰のEXCEL本体にも常駐させ、SUM関数のようにいつでも使用できる状態にするにはどうすればいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • 11369
  • ベストアンサー率29% (20/67)
回答No.3

アドイン登録すれば可能です。 作成したマクロをxlaでaddinsフォルダに保存した後、エクセルの[ツール]-[アドイン]で登録すればOK 注意しなければいけないのは、そのユーザー関数を使用して作成したエクセルブックを他の人に渡す場合、その関数のないパソコンでは開いても結果が表示されなくなります。以前、客先にそのファイルを渡してしまい、とんだトラブルを招きました。また、バージョン管理をできるようにしておかないと新しいものと古いものが混在する結果を招きます。 私も以前、同様な試みをしましたが、管理しきれないので断念しました。 ユーザー関数は個人で使用するようにしています。

D_HILL_FW17
質問者

お礼

EXCELのアドイン機能については、今まで使ったことがなく、今回のご教授で、非常に役に立つ機能だということを、実感しました。 この方法で、無事に多くの仲間に使ってもらうことができるようになりました。今後のプログラミングの幅も広がったような気がします。 ありがとうございました。

その他の回答 (2)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

ユーザ定義関数のモジュールを.xla形式で保存し、  \Microsoft Office\Office\XLStart配下 に登録しておけばEXCELのアプリケーション起動時にモジュールシートも起動できますが、「誰のEXCEL本体にも」といわれると、自動ではできないでしょう。各人にインストールを依頼しましょう。 (それができたらウィルスになってしまいます)

  • s_yoshi_6
  • ベストアンサー率73% (1113/1519)
回答No.1

こちらなどが参考になるのではないでしょうか。 Excelでユーザー定義関数をアドインとして提供する http://www.atmarkit.co.jp/fwin2k/win2ktips/471funcadin/funcadin.html