Excel97以降、標準モジュールに書いたVBAコードは、Excelの拡張子が「.xlsx」のままでは保存できません。そこで、この記事ではVBAコードが記載されたExcelファイルの作成方法についてご紹介します。
Tips
標準モジュールについてはこちら
目次
VBA実行用ファイルの作り方
まずExcelシート画面の左上の「ファイル」メニューをクリックしてください。
バックステージビューと呼ばれる画面(下図)になります。
①で「名前を付けて保存」をクリックします。②で好きなファイル名をつけてください。③のプルダウンメニューから「Excel マクロ有効ブック(*.xlsm)」を選択します。
あとは、下図のように保存ボタンを押すだけです。
ちなみにわたしはデスクトップに作りました。
Excelファイルのマクロ実行用ファイルの拡張子は、「.xlsm」になります。これにより、コードを保存することができるようになります。別の言い方をすれば、通常の拡張子「.xlsx」のままでは、コードを保存することができません。
モジュールの補足
Excel画面から「Alt」+「F11」キーを押すとVBE画面が開きます。たとえば、前回"Hello! World!"を表示させたモジュール(Module1)で、マクロ実行用Excelファイルを作った場合は、下のような状態ですね。
新規にExcelファイルを作った場合は、VBE画面にまだ標準モジュールはない状態ですので、下の記事を参考にして標準モジュールを出してみてくださいね。
Tips
標準モジュールの出し方
さて、集計業務で使うモジュールは、上図で示した「オブジェクトモジュール」というシートやブック上にコードを書くタイプと、前回までコードを記載する場所として紹介しました「標準モジュール」の2種類です。
Excelには他にもフォームモジュールとクラスモジュールの2種類のモジュールがあります。
フォームモジュールは、Excelを業務アプリケーションとして使う場合、複数のユーザが使いやくするためのユーザインターフェースを構築するのに使われます。
またクラスモジュールは、オブジェクト指向を取り入れたプログラミングをする際に便利な仕組みです。クラスモジュールを使うことによって、開発効率やコードの可読性も良くなるメリットがあります。
もちろん、Excelシートとの相性も良いので集計業務にも使いますが、相当大規模なコードによる集計業務でもない限り無理して使う必要はありません。わたしも10年間の集計業務でクラスモジュールを使ったことは一度もありません。
まとめ
Excel2007より、Excelの拡張子が「.xls」から「.xlsx」になりました。同時に、VBAコードを保存できるファイルの拡張子も「.xlsm」になりました。今回は、このコードを保存できる形式「.xlsm」付きExcelファイルの作成方法についてお話ししました。
集計業務に限って言えば、経験上、標準モジュールとオブジェクトモジュールの2種類の使い方を知っていれば問題ありません。ほかのフォームモジュールはアプリ開発に必要です。また、クラスモジュールは大規模な集計システムの構築に対し、使い方を知っていれば大変便利なものですが、実務の集計業務では標準モジュールとオブジェクトモジュールだけでも十分です。