マクロを書いていると、あれ、前にもこの処理書いたなぁって時が出てきます。
数行の処理ならいいのですが、大量だったり複雑な処理の場合は何回も書くのは面倒です。
そこで、1度書いた処理は次からは書かずに使い回そう(共通化)!というのが今回ご紹介する内容です。手順はすごく簡単なのでぜひお試しください。
はじめに
ExcelVBAで処理を使い回すには「basファイル」というものを使います。
basファイルとは、プログラミング言語VisualBasicのファイル形式で、簡単に言うとただのテキスト形式のファイルです。メモ帳で開くことができます。
共通化の流れとしては、
①basファイルを出力→②別ファイルでbasファイルを読み込む
これだけです。簡単。
「basファイル」を作っておくと、どのマクロファイルからも読み込むことができるようになります。
手順1:エクスポート(basファイルを作る)
共通化したい標準モジュールを右クリックして[ファイルのエクスポート]をクリックします。
出力フォルダを選ぶ画面が表示されるので、好きなフォルダを選んでください。
成功すると、拡張子が[.bas]となっているファイルが出力されます。
手順2:インポート(basファイルを読込む)
basファイルができたら、その処理を使いたい別のマクロマクロファイルを開きます。
開いたファイルで、下図のようにどこでもいいので右クリックをして[ファイルのインポート]をクリックします。
このとき、インポートするファイル名と同名の標準モジュールがすでに存在している場合は、自動的にモジュール名の末尾に連番がつきます。上書きにはならないので安心してください。
終わりに
以上、処理を共通化して使い回す手順でした。
処理をbasファイル化しておけば、社内で同じ処理を簡単に共有できるようになるので、大変便利です。
ただしこのやり方では、その後basファイルを更新する必要が出てきたとき、すでに読み込み済みのbasファイルの内容は更新されないので、その点は注意が必要です。