エクセルVBAを使っていて、よくあるのがVBAを使えない、動かないといった状態になることがあります。
VBA初心者が、このようなトラブルにはまると解決方法が分からず右往左往してしまいます。
しかし対処法を理解していれば、トラブルが起きても怖くはありません。そこで、初心者が「やりがちなミス」と「その対処法」を紹介します。
- 編集できない状況と対処法
- 状況1|マクロ編集画面を使おうとしてもパソコンの警告音が出る
- 状況2|このプロジェクトのマクロは無効に設定されています
- 状況3|保存したはずのマクロが消えた(1)
- 状況4|保存したはずのマクロが消えた(2)
- 状況5|エクセルが共有されている
- 状況6|「中断モードでコードを実行することはできません」とエラーが出る
- 状況7|マクロの編集ボタンがグレーアウト(非活性)になる
- 状況8|パスワードロックがかかっている
- 状況9|VBEに何も表示されない
- マクロVBAに関するお勧めの記事
編集できない状況と対処法
編集できない状況と主な対処法は、以下の表をご覧ください。
No | 状況 | 解決策 |
1 | マクロ編集画面を使おうとしてもパソコンの警告音が出る | エクセルの編集モードを解除 |
2 | このプロジェクトのマクロは無効に設定されています | マクロの無効を解除し、有効にする |
3 | 保存したはずのマクロが消えた(1) | 拡張子xlsmでファイルを保存するように設定を変更する |
4 | 保存したはずのマクロが消えた(2) | シートにマクロを作らない。標準モジュールでマクロを作成する。 |
5 | エクセルが共有されている | 共有を解除する |
6 | 「中断モードでコードを実行することはできません」とエラーが出る | プログラムのリセットを押す |
7 | マクロの編集ボタンがグレーアウト(非活性)になる | 開発をリボンに表示させる |
8 | パスワードロックがかかっている | パスワードロックを解除する |
9 | 操作バーが表示されない | 表示させるためのコマンドをクリックする |
以下で一つずつ説明していきます。
状況1|マクロ編集画面を使おうとしてもパソコンの警告音が出る
赤枠のマクロ編集画面(VBE : Visual Basic Editor)をクリックをしても、パソコンの警告音が出てマクロ編集画面に移動できない。
原因|エクセル編集モードになっている
エクセル編集モードでは、マクロは編集できない。
エクセル編集モードとは編集モードとは、セルをダブルクリックして、セルを操作している状態のことです。具体的には以下の状態です。
ここでは、セルC3をダブルクリックして編集しようとしています。そのため、エクセル編集モードになっているのです。
解決策|エクセル編集モードを解除する
エクセルの編集モードを解除するためには、エクセルのどこかのセルを一度押す、もしくはEscキーを押せば解決します。
なお、エクセルを編集モードにしていると、エクセルの機能の多くが使えなくなります。
これは、編集モードと通常状態を比べるとよく分かります。
編集モードだと、以下の画像のようにグレーになり、クリックしても反応せず警告音が鳴ります。
状況2|このプロジェクトのマクロは無効に設定されています
状況|以下のように表示される
このプロジェクトのマクロは無効に設定されています。マクロを有効にする方法についてはオンラインヘルプまたはホストアプリケーションのドキュメントを参考してください。
原因|マクロが無効にされている
マクロの設定でマクロが無効にされていると、マクロを開くことができません。
解決策|マクロを有効にする
解決策|マクロが無効になっていると起動しない・見れないので、マクロの無効を解除し、有効にする。
●エクセル2016の場合
[1] 「ファイル」をクリック
[2] 「オプション」をクリック
[3] 「セキュリティセンター」をクリック
[4] 「セキュリティセンターの設定(T)」をクリック
[5] 「マクロの設定」をクリック
[6] 「警告を表示してすべてのマクロを無効にする(D)」をクリック
[7] 「OK」をクリック
●エクセル2013の場合
以下の記事で、マクロを有効にする方法について画像を使って詳しく説明しています。参考にしてください
●エクセル2007の場合
リボンの「ファイル」→「エクセルのオプション」→「セキュリティセンター」→「警告を表示して無効」
状況3|保存したはずのマクロが消えた(1)
保存したはずのマクロが消えてしまうことがあります。
原因|エクセルの拡張子が.xlsxでファイルを保存した
原因は、拡張子xlsxでファイルを保存した(拡張子 .xlsxではマクロを保存できない)
解決策|エクセルの拡張子を.xlsmでファイルを保存する
解決策は、拡張子xlsmでファイルを保存するように設定を変更する
以下で、マクロが保存されるファイル形式に変更する方法を紹介します。
[1] 「ファイル」をクリック
[2] 「オプション」をクリック
[3] 「保存」をクリック
[4] 「ファイルの保存形式(F)」をクリック
[5] 「Excelマクロ有効ブック(*.xlsm)」をクリック
[6] 「OK」をクリック
この変更を行えば、エクセルファイルの保存形式が「.xlsx」から「.xlsm」に変更されます。
これで、エクセルを閉じても、マクロが保存されるようになります。
なお、xlsxでマクロを作成したり編集したりすることは可能です。しかし、xlsxで作成したマクロは保存されません。注意しましょう。
状況4|保存したはずのマクロが消えた(2)
マクロが消えてしまうのは、.xlsxの拡張子のまま保存する以外の理由もあります。
原因|シートにマクロを保存したまま、シートごと削除した
以下のようにシートにマクロを保存したまま、シートごと削除すると、マクロごと消えます。
解決策|標準モジュールでマクロを作成する
特別な理由(*)がない限り、シートにマクロを作らない。標準モジュールでマクロを作成する。
(*)特別な理由とは、イベントプロシージャのようにシート毎でマクロを動かしたいときを指します。
例えば、Sheet2の数値を変えたら、「マクロAが動く」という設定をしたい場合は、シートにマクロを設定する必要があります。
状況5|エクセルが共有されている
エクセルが共有モードにあるかどうかは、上記の赤枠で囲んだところに 共有 を記載されているかどうかで確認できる。
もし、共有と書いてあれば共有モードになっている。
原因|エクセルが共有状態になっているとマクロを編集できない
エクセルを共有モードにしていると、マクロの編集が出来ない
共有モードのエクセルでは、「プロジェクトがロックされています」と表示され、マクロを編集できない。
編集するためには、エクセルの共有を解除する
以下で、共有モードを解除する方法を紹介します。
[1] リボンの「校閲」をクリック
[2] 「ブックの共有」をクリック
[3] チェックを外す(*)
[4] 「OK」をクリック
(*) この文言は2016や2013などのバージョンで変わりますが、基本的にはチェックを外せば問題ありません。
注意|なお共有モードであっても、ボタンクリックによるマクロ起動は可能です。以下の通り、ボタンにマクロを設定しておくとマクロは動きます。
[1]のボタンを押してみると
共有しているとマクロが動かないわけではありません。
あくまで共有モードではマクロ編集が不能になるだけです。
状況6|「中断モードでコードを実行することはできません」とエラーが出る
マクロを実行しようとしたが「中断モードでコードを実行することはできません」とエラーメッセージが出る
原因|他のマクロを動かそうとしている
あるマクロが実行中で中断していると、他のマクロを使うことはできません。
解決策|マクロ編集画面のリセットボタンを押す(中断モードをリセットする)
中断モードになっているかどうかを確認するには、以下の画像の赤枠の通り、「中断」と書かれていることを確認する。
マクロ編集画面のリセットボタン(以下の画像の赤枠)を押せば、中断されているマクロが解除されて実行可能な状態になります。
状況7|マクロの編集ボタンがグレーアウト(非活性)になる
マクロを編集しようとしてもグレーアウト(非活性)になっている
[1] リボンの「表示」をクリック
[2] 「マクロ」をクリック
[3] マクロのダイアログが出現
[4] 編集(E)を含めた他のボタンがグレーアウト
上記の状態になっている場合の原因と解決策は以下です。
原因|マクロが何も設定されていない
マクロが何も設定されていなかったり、何も作成いなかったりすると、[1] リボンの「表示」をクリック→[2] 「マクロ」をクリックをして出現ダイアログのボタンはグレーになる
解決策|エクセルのリボンに「開発」を出現させる
開発タブを出現させてVBEを開く
解決ステップ1|開発タブをリボンに登録
リボンに開発タブに登録します。開発タブを登録することで、リボンからエクセルVBAを起動できるようになります。
[1] エクセルの「ファイル」をクリック
[2] 「オプション」をクリック
[3] 「リボンのユーザー設定」をクリック
[4] 「開発」にチェックを入れる
[5] 「OK」をクリック
解決ステップ2|Visual Basic Editor(VBE)を起動
開発タブのVisual BasicをクリックしてVBEを起動します。VBEはVisual Basic Ecitorの略で、マクロの編集画面のことです。
Excel2013で説明します
(2007の場合と2010以降の場合でほぼ同じのため)
[1] 「開発」タブをクリック
[2] 「Visual Basic」をクリック
マクロの編集方法や追加方法については、以下の記事で詳しく解説しています。
状況8|パスワードロックがかかっている
パスワードロックがかかっている
原因|パスワードを知らない
シンプルにパスワードを知らないことが原因です。
解決策|パスワードを教えてもらう
マクロ作成者に問い合わせて、パスワードロックを解除する以外の方法はありません。
状況9|VBEに何も表示されない
VBEに何も表示されない
原因|表示用のコマンドを知らない
実は、表示されていない部分を表示できるようにするコマンドがあります。
解決策|表示させるためのコマンドをクリックする
以下の方法で、表示されていない部分を表示できます。
ちなみに、以下のショートカットキーでも表示することができます。
[2] コード|[F7]
[3] プロパティウィンドウ|[F4]
ぜひ試してみてください。
マクロVBAに関するお勧めの記事
ここまで、エクセルマクロVBAを編集できないときの対処法について紹介してきました。
以下では、マクロの設定やマクロ作成におけるコツを記載しています。
ぜひ読んでみてください。
●エクセルマクロでできることを知りたいなら
●エクセルマクロの難易度や習得までの期間を知りたいなら
●エクセルマクロを独学で上達するコツを知りたい
●エクセルマクロを効率的に作成するコツを知りたいなら
●エクセルマクロについてもっと詳しく知りたいなら
●本やウェブのマクロVBAのコードが使えない理由
●エクセルマクロオンライン教材のおすすめ
●初心者が知っておきたいエクセルマクロVBAの初期設定
●パソコン仕事を効率的に使うワザを知りたいなら