わかる!はじめてのExcelマクロ超入門
第5回 作ったマクロが消えてしまう

普通に保存すると、マクロが消えてしまうよ

こんにちは、あらたまです。

さて今日は「わかる!はじめてのExcelマクロ超入門」の第5回目です。

おさらい

前回の「第4回 マクロの正体はただのテキスト!」では マクロの正体が、VBAで操作内容を記述したテキストであることを確認しましたね。 マクロの中身を表示している画面

今回は、そんなマクロを保存する方法について、見ていきたいと思います。

なんと、エクセルのファイルを保存するとき、ちゃんと注意をしておかないと せっかく作成をしたマクロが、きれいさっぱり消滅してしまうことがあるのです。

マクロが消えてしまう!

どういうことでしょうか? 実際にマクロが消滅してしまうところを見てみましょう。

前回のVBエディターの画面です。「標準モジュール」の中に、記録したマクロが存在している状態ですね。 ※前回の画面をすでに閉じてしまった人は、「マクロの記録」を実行してマクロが存在する状態にしてください。 ヴィジュアル・ベーシック・エディターの画面

それでは、エクセルのファイルを保存してみましょう。

エクセルの画面で、「ファイル」タブをクリックします。 ファイルタブをクリックしている画面

「名前を付けて保存」をクリックします。 名前を付けてをクリックしている画面

自分にとってわかりやすい場所と名前を指定して、「保存」をクリックします。 ※今回は場所を「デスクトップ」、ファイルの名前を「マクロ消えるサンプル」にしてみました。 ファイルの場所と名前を指定している画面

このようなメッセージが表示されるので、「はい」をクリックします。 確認ダイアログが表示されている画面

お使いのパソコンの状況によっては、このようなメッセージも出るかもしれません。 その場合は「いいえ」をクリックします。 確認ダイアログが表示されている画面

エクセルのファイルが保存できました!

ここで一旦エクセルを閉じてみましょう。 「×」をクリックしている画面

そして、さきほど保存したファイルをダブルクリックして開きます。 ファイルのアイコンをダブルクリックしている画面 起動されたエクセルの画面

「開発」タブの「Visual Basic」をクリックしてVBエディターを起動します。 「Visual Basic」をクリックしている画面

マクロが記録されていた「標準モジュール」が消えてしまいました! VBエディターにマクロが存在していない画面

なぜ消えてしまう?

なぜ普通に保存すると、マクロが消えてしまうのでしょうか?

それはエクセルを使う人を守るために、このようになっています。

VBAで書くマクロは、いわゆるコンピュータープログラムの一種類です。

これは実に高機能で色々なことが出来る半面、悪いことをしようと思えば コンピューターウィルスだって作ってしまうこともできます。

そういった悪いひとから守るために、 エクセルを使う人がそのファイルにはマクロが含まれているかどうか簡単に判断できるように、 「普通のエクセルファイル」と「マクロが使われているエクセルファイル」を 違うファイルの種類として区別しているのです。

マクロが消えないように保存する方法

それでは、マクロが消えないようにファイルを保存してみましょう。

まずは「マクロの記録」でエクセルの操作を記録して、マクロが存在する状態にしてください。 ヴィジュアル・ベーシック・エディターの画面

エクセルの画面で、「ファイル」タブをクリックします。 ファイルタブをクリックしている画面

「名前を付けて保存」をクリックします。 名前を付けてをクリックしている画面

ここが、注意するところです! 「ファイルの種類」で「エクセルマクロ有効ブック」を選択します。 ファイルの種類を選択している画面

自分にとってわかりやすい場所と名前を指定して、「保存」をクリックします。 ※今回は場所を「デスクトップ」、ファイルの名前を「マクロ消えないサンプル」にしてみました。 ファイルの場所と名前を指定している画面

エクセルのファイルが保存できました!

では、どのように保存されたか確認するために、一度エクセルを閉じてみましょう。 「×」をクリックしている画面

デスクトップのファイルをダブルクリックして開きます。 ファイルのアイコンをダブルクリックしている画面

「開発」タブの「Visual Basic」をクリックしてVBエディターを起動します。 「Visual Basic」をクリックしている画面

ちゃんと今度はマクロが残っていますね! VBエディターにマクロが存在していない画面

このように、マクロを持ったエクセルのファイルは「マクロ有効ブック」を 選択したうえで保存しないといけない、ということですね。

今回はここまでです!

次回はマクロを実行するときの注意事項についてお話をしたいと思います。

次回へ続く