VBAプログラムをマクロ有効ブックとして保存する

Excel VBA を使って作成したプログラムを保存するには、ブックを保存する方法とモジュールをエクスポートする方法があります。ブックを保存する場合は、ファイルの種類としてマクロ有効ブック(*.xlsm)を選択する必要がある点に注意してください。ここでは VBA プログラムをマクロ有効ブックとして保存する方法について解説します。

(Last modified: )

VBAのコードが含まれるブックを保存する

VBA を使ってプログラムは元になっている Excel のブックに含まれています。その為、プログラムを保存するには Excel のブックを保存すれば自動的に作成したプログラムも保存されます。

このとき注意点として VBA を使ったプログラムがふくまれるブックを保存する場合は、ファイルの拡張子を .xlsx ではなく .xlsm にする必要があります。拡張子を .xlsx のまま保存すると、ブックに含まれるプログラムが保存されません。

では実際に保存してみます。ブックの保存は Visual Basic Editor からでも可能です。「ファイル」をクリックし、表示されたメニューの中から「(ブック名)を上書き保存」をクリックしてください。

VBAのコードが含まれるブックを保存する(1)

ファイル選択ダイアログが表示されるので、保存するディレクトリとファイル名を指定してください。この時、ブックを初めて保存する場合は「ファイルの種類」が「Excel ブック (*.xlsx)」が選択されています。

VBAのコードが含まれるブックを保存する(2)

このまま「保存」をクリックすると次のようなダイアログが表示されます。このまま保存するとブックに含まれるプログラムは保存されませんのでいったん「いいえ」をクリックしてください。

VBAのコードが含まれるブックを保存する(3)

ファイル選択ダイアログの画面に戻るので、「ファイルの種類」として「Excel マクロ有効ブック (*.xlsm)」を選択してください。

VBAのコードが含まれるブックを保存する(4)

選択が終わったら「保存」をクリックしてください。今度は何もダイアログが表示されずブックが保存されました。

VBAのコードが含まれるブックを保存する(5)

モジュールをエクスポートする

作成したモジュールだけをファイルとしてエクスポートすることも可能です。エクスポートするには、まずプロジェクトウィンドウで対象のモジュールを選択してください。

モジュールをエクスポートする(1)

「ファイル」をクリックし、表示されたメニューの中から「ファイルのエクスポート」をクリックしてください。

モジュールをエクスポートする(2)

ファイル選択ダイアログが表示されるので、モジュールを保存する場所の指定と、必要であればモジュール名を指定してください。モジュールを保存するファイルの拡張子は「*.bas」となります。

モジュールをエクスポートする(3)

モジュールのエクスポートが完了しました。

モジュールをインポートする

保存したモジュールを読み込んでみます。現在ブックにはモジュールが一つもない状態です。

モジュールをインポートする(1)

「ファイル」をクリックし、表示されたメニューの中から「ファイルのインポート」をクリックしてください。

モジュールをインポートする(2)

ファイル選択ダイアログが表示されるので、インポートするモジュール選択してください。

モジュールをインポートする(3)

モジュールのインポートが完了しました。

モジュールをインポートする(4)

今回元々モジュールをエクスポートしたブックにインポートしましたが、別のブックからインポートすることもできます。

-- --

VBA を使って作成したプログラムを保存する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。