Excelの初期設定では、VBAを利用して作成できるマクロと呼ばれる機能(複数の処理を1つのコマンドにまとめたもの)が利用できません。
これから紹介する設定を確認して、ExcelでVBAプログラミングができる環境を構築しましょう。
マクロ機能が使用できるファイルと使用できないファイル
Excelファイルで、マクロ機能を利用するには○○.xlsmファイルという拡張子でファイルを保存する必要があります。
この記事では、簡単なマクロを作成し、マクロ機能が利用できる環境か確認していきます。
Excelファイルを開き、「挿入」>「図形」で適当な図形を挿入します。
挿入した図形を右クリックし、「マクロの登録」>「新規作成」をクリックします。
ポップアップが表示されますが、そのまま閉じます。
これで挿入した図形に何も処理が書かれていないマクロが登録されました。このままExcelファイルを閉じようとするとマクロが有効なファイル(○○.xlsm)で登録するか聞かれます。
このように、普段使用しているExcelファイル(拡張子が.xlsxや.xls)は、マクロ機能が使用できません。使用するには、マクロが有効なExcelファイル(拡張子が.xlsm)に変更する必要があります。
先ほどの画面で「戻る」をクリックします。「Excelマクロ有効ブック(*.xlsm)」を選択し、保存しましょう。
マクロ機能が使用できる.xlsmファイルが.xlsxファイルとは別に作成されました。マクロ機能を使用する場合は、この○○.xlsmファイルを使用するようにしましょう。
ファイル名に○○.xlsxや○○.xlsmといった拡張子が表示されない場合は、次の記事を参考にしてください。
マクロの有効化 「警告して、VBAマクロを無効にする」の設定
マクロは、組み込まれた一連の処理を自動で実行する仕組みなので、むやみに実行できるとウイルスに感染するリスクがあります。
そのため、初期状態では以下のようなメッセージが表示されることがあります。
Excelの設定を変更することでマクロが利用できるようになります。
Excelファイルを開き、画面左上の「ファイル」をクリックします。
画面左の項目から「オプション」をクリックします。
「トラストセンター」>「トラストセンターの設定」の順番でクリックします。
「マクロの設定」から「警告して、VBA マクロを無効にする」をクリックします。
これで、マクロが使用されたExcelファイルを使用するとき、「セキュリティの警告」は表示されますが、「コンテンツの有効化」をクリックすることで、マクロが使えるようになります。
「セキュリティ リスク」マクロの実行ブロックを解除
「警告して、VBAマクロを無効にする」の設定を「警告して、VBA マクロを無効にする」にしているにもかかわらず、マクロの実行がブロックされることがあります。
これは、自身のPC以外(インターネットや共有フォルダなど)に保管されたマクロ付きのExcelファイルをむやみに開いてウイルスに感染しないように、セキュリティがかかっているからです。
この場合は、Excelファイルを閉じ、ファイルを右クリックし、「プロパティ」をクリックします。プロパティが開くので、[全般]タブに表示された「セキュリティ」の「許可する」にチェックをいれます。
これで、外部から持ってきたマクロ付きのExcelファイルも使用することができます。
ただし、この作業は、各Excelファイルごとに実行しないといけないので、注意してください。
Excelに[開発]タブを追加
Excelの初期設定では、画面上部に表示されるリボンに[開発]タブが表示されていません。
この[開発]タブでは、VBAプログラミングを書いたり、編集したりする環境が用意されています。
1度表示すると、新しいExcelファイルを開いても表示されますので、初めての人は、追加しておきましょう。
そのため、リボンに[開発]タブが表示されるように設定を変更します。
Excelファイルを開き、画面左上の「ファイル」をクリックします。
画面左の項目から「オプション」をクリックします。
“Excelのオプション”画面が表示されるので、「リボンのユーザー設定」>「開発」にチェックを入れて、「OK」をクリックします。
Excel画面上部に[開発]タブが表示されました。
まとめ
Excelの初期設定では、VBAプログラミングやマクロを使用する環境になっていません。そのため、
- Excelファイルをマクロ有効な○○.xlsmファイルにする。
- 「警告して、VBAマクロを無効にする」と設定し、マクロを有効にする。
- 「セキュリティ リスク」マクロの実行ブロックを解除する。
- VBAプログラミングを書いていく際に必要な[開発]タブを追加する。
といった準備をしてあげる必要があります。
コメント
[…] ExcelでVBAを使うための環境づくりExcelの初期設定では、VBAを利用して作成できるマクロと呼ばれる機能(複数の処理を1つのコマンドにまとめたもの)が利用できません。これから紹介す […]