エクセルの自作関数を複数ファイルで共有する方法

VBA

背景

VBAで作成されたモジュールやクラスは基本的に作成したファイルからの参照になります。

そのため、簡単には他のファイルに共有できません。複数のファイルで同じような関数などをコピペするのは維持管理的にも問題ありなので、共通的にライブラリとして使いたかったので共有してみた。

 

共有方法

まずは共有する対象のマクロを作成しましょう

 

マクロを保存して、対象のエクセルをアドインとして保存します。

この時、Addinsフォルダが選択されていると思うので、このまま保存してください。

筆者は「MacroCollection」という名称で保存しました。

これを書くエクセルファイルで共有するには、「ファイル⇛オプション⇛アドイン」でMacroCollectionを有効にしてください。

そうすると共有されます。

配布方法

他の人に関数を共有するときは先程のファイルを配布して、アドインに追加してもらうか、

別ファイルでアドインから参照した関数を使用している場合はモジュール等をエクスポートして各ファイルに仕込んでください。

コメント