マクロが動かない場合の対処法

複雑なマクロ処理を組んだ際は、バグ(不具合)が見つかりプログラムがうまく動かないケースが出てくることも考えられます。このバグを発見し取り除くことを「デバッグ」と言い、マクロにおけるデバッグには以下の2つの方法が存在します。

1、ステップイン

マクロを1行ずつ実行しながら、バグを探っていくのが「ステップイン」という方法。一つずつ実行することで、どのコードに不具合があるかを特定するのに有効なデバッグ法です。

2、ブレークポイント

任意のところでプログラムを一時中断させる「ブレークポイント」を設定し、ブレークポイントにヒットしたところからデバッグを開始する方法。すべてのプログラムを実行するステップインよりも、デバッグにかける時間を短縮できるメリットがあります。

それぞれの具体的な手順は、以下を参考にしてください。

【ステップインの実行方法】

1、「開発」タブから「Visual Basic」をクリックし、VBAの画面を表示させる。同時にエクセルの画面も並べておく
2、エクセル上で実行するマクロにカーソルを合わせて「F8」キーを押すと、最初のマクロが実行される(実行中のマクロはVBA画面上で黄色く表示される)
3、その後は、「F8」を押すたびに1行ずつ実行されるので、動きに間違いがないか確認する。間違いがあれば該当部分のコードを修正する。

【ブレークポイントの実行方法】

1、VBA 画面とエクセルを並べて表示させる
2、VBA 画面でブレークポイントを設定したい行の行頭にカーソルを合わせ、クリックする(黒丸が追加され、ここがブレークポイントとなる)
3、エクセル上で実行するマクロにカーソルを合わせて、VBA画面のメニューにある「実行」から「Sub/ユーザーフォームの実行」をクリックする
4、ブレークポイントまでマクロが実行されるので、問題がないか確認し、バグが見つかったら修正する。問題がなければ黒丸をクリックして選択範囲を削除し、新たにブレークポイントを指定してチェックする

他のユーザーに共有するときの注意点

エクセルの「校閲」から「ブックの共有」をクリックすると、複数人のユーザーとエクセルファイルを共有し、各人が編集できるようになります。ただし、共有する際はいくつかの注意点があります。以下の点をチェックしておきましょう。

一部機能はサポートされていない

ファイルを複数人で共有する場合、一部の機能は利用できません。たとえば、セルのブロックの挿入または削除、書式による並べ替えまたはフィルタリング、マクロの記述、記録、変更、表示、割り当てなどです。詳細については、以下のページを参照してください。
https://support.office.com/ja-jp/article/%E5%85%B1%E6%9C%89%E3%83%96%E3%83%83%E3%82%AF%E6%A9%9F%E8%83%BD%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6-49b833c0-873b-48d8-8bf2-c1c59a628534

必要があれば変更履歴を記録する

共有ブック機能を用いて複数人で一つのファイルを編集した際は、必要に応じて変更履歴を記録しておきましょう。あとから問題が見つかったときのために、念のため変更履歴を残しておくと便利です。共有ブック機能をオフにする前に、「校閲」タブの「変更履歴の記録」を用いることで記録ができます。

編集を終えたらユーザーを解除する

複数人での同時編集を終えたあとは、共有ブックの機能の無効化を忘れずに行いましょう。「校閲」タブの「ブックの共有」から、「現在このブックを開いているユーザー」ボックスの一覧で、接続を解除したいユーザーを選んで削除ボタンをクリックすると、共有を解除することができます。