久々の更新だ。今回はVBAマクロをアドイン化する手順の紹介だ。
通常マクロはワークブックに含まれてしまうので、他のEXCELファイルからは使えない。
アドイン化されたマクロはEXCEL起動時に読み込まれるので、マクロを有効にしているすべてのブックから使用可能だ。ただし、ユーザ定義ワークシート関数をアドイン化すると、他のPCでワークシートを開いたときエラーで機能しなくなるので、他人とブックを共有する前に「値貼り付け」等でユーザ定義ワークシート関数をつぶした方がよいぞ。
望まれればマクロを共有してもよいが責任問題をクリアするため、能動的にマクロを広めちゃあかんよ。
アドイン化手順
①空のブックをアドイン用フォルダにcommon.xlamの名前で保存する
Excelの[オプション]-[アドイン]-[設定]ボタン押せばアドインのダイアログが表示される。
ここで参照ボタンを押せばアドイン保存用フォルダが解るので、何もせずオプションをとじて、空のブックをアドイン用フォルダにcommon.xlamの名前で保存する。
ここで参照ボタンを押せばアドイン保存用フォルダが解るので、何もせずオプションをとじて、空のブックをアドイン用フォルダにcommon.xlamの名前で保存する。
このとき名前を変えるだけではなく、ファイルタイプでxlamを選択して保存しろし。
②common.xlamをアドインとして有効にする。
再びアドインダイアログを表示し[参照]ボタンを押下し、先ほど保存した、common.xlamを選択する。アドインダイアログの[common]チェックボックスをチェックすれば、以降excel起動時にcommon.xlamが読み込まれる。
③VBAから新規モジュールを追加する
VBAを開くと、現在開いているワークブック以外にCommonFunction(common.xlam)が表示されている。これを右クリックで選択し標準モジュールを追加する。
④追加されたModule1をcommon.basに開放(エクスポート)する
CommonFunction(common.xlam)にはModule1が追加されているので、すぐに開放する。
この時、[エクスポートする]を選択し、common.basの名で任意フォルダにエクスポートする。
⑤エクスポートされたcommon.basをテキストエディタで開きモジュール名をModule1からcommonに変更する
⑥編集されたcommon.basを保存し、VBAからCommonFunction(common.xlam)にインポートする
これでcommon.xlamに書かれたマクロは他のブックから使用できる。
ただし、大きなマクロはアドインに入れちゃいかんぞ。切り離せる仕組みを考えて必要な時のみ読み込めし。
0 件のコメント:
コメントを投稿