繰り返し作業を自動化するために、Microsoft Excel のマクロ レコーダーでマクロを記録できます。 たとえば、形式が統一されていない日付があるときに、1 つの形式をそれらすべての日付に適用できれば便利です。 それを実行できるのがマクロです。 特定の形式を適用するマクロを記録し、必要なときにそのマクロを再び実行します。
マクロを記録すると、マクロ レコーダーはコード内のすべての手順 Visual Basic for Applications (VBA) 記録します。 これらの手順には、テキストや数字の入力、リボンまたはメニューでのセルまたはコマンドのクリック、セル、行、列の書式設定、外部ソースからのデータのインポート (Microsoft Access など) などがあります。 Visual Basic Application (VBA) は、強力な Visual Basic プログラミング言語のサブセットであり、ほとんどの Office アプリケーションに含まれています。 VBA を使用すると、Office アプリケーション内と Office アプリケーション間のプロセスを自動化できますが、マクロ レコーダーが必要な処理を行う場合は、VBA コードやコンピューター プログラミングを知る必要はありません。
これは重要なことですが、マクロを記録するとき、マクロ レコーダーはほとんどすべての動作を記録します。 順番を間違えた場合、たとえば、あるボタンを意図せずにクリックしてしまった場合、マクロ レコーダーはその動作を記録します。 この解決策は、全体を記録し直すか、VBA コード自体を修正することです。 そのため、マクロを記録するときは、自分が使い慣れているプロセスを記録することが最善となります。 一連の動作を支障なく記録できれば、マクロを実行したとき、マクロが効率的に動作します。
マクロと VBA ツールは [開発] タブにあります。このタブは既定で非表示になっているため、最初の手順はこれを有効にすることになります。 詳細については、「[開発] タブを表示する」を参照してください。
マクロを記録する
マクロについて、知っていると便利なことがいくつかあります。
-
Excel の範囲内で一連のタスクを実行するためのマクロを記録すると、マクロは範囲内のセルでのみ実行されます。 そのため、範囲に余分な行を追加した場合、マクロは新しい行でプロセスを実行せず、範囲内のセルのみを実行します。
-
一連の作業が長い場合、1 つの長いマクロを記録する代わりに、関連する複数のマクロを作成してください。
-
マクロに記録できるのは、Excel 内の作業に限定されません。 マクロ プロセスは、他の Office アプリケーションや Visual Basic Application (VBA) をサポートする他のアプリケーションに拡張できます。 たとえば、最初に Excel でテーブルを更新し、次に Outlook を開き、そのテーブルを特定のメール アドレスに送信するマクロを記録できます。
次の手順でマクロを記録します。
-
[開発] タブの [コード] で、[マクロの記録] をクリックします。
または
Alt + T + M + R キーを押します。
-
[マクロ名] ボックスにマクロ名を入力します。 複数のマクロを作成したときにすぐに見つけられるように、名前はできるだけわかりやすいものにしてください。
注: 2 番目以降の文字には、文字、数字、またはアンダースコア (_) を使用できます。 マクロ名にスペースは使用できません。 単語を区切るときはアンダースコアを使います。 セル参照と同じマクロ名を使用した場合、マクロ名が無効であることを通知するエラー メッセージが表示されることがあります。
-
マクロを実行するためにキーボード ショートカットを割り当てるには、[ショートカット キー] ボックスに、使用する文字を入力します (大文字と小文字のいずれも可)。 マクロを含むブックが開いている間、マクロ ショートカット キーは同等の既定の Excel ショートカット キーをオーバーライドするため、 Ctrl + Shift (大文字) キーの組み合わせを使用することをお勧めします。 たとえば、 Ctrl + Z (元に戻す) を使用すると、その Excel インスタンスで元に戻す機能が失われます。
-
[マクロの保存先] の一覧で、マクロを保存する場所を選択します。
一般的に、[作業中のブック] の場所にマクロを保存しますが、Excel を使用するときにいつでもマクロを使用できるようにする場合は、[個人用マクロ ブック] を選択します。 この [個人用マクロ ブック] を選択すると、存在しない場合は非表示の個人用マクロ ブック (Personal.xlsb) が作成され、このブックにマクロが保存されます。
-
[説明] ボックスに、マクロの作業内容の簡単な説明を入力します (省略可能)。
説明フィールドは省略可能ですが、入力することをお勧めします。 また、マクロを実行するユーザーや他のユーザーに役立つ可能性のある情報を含むわかりやすい説明を入力してください。 多数のマクロを作成する場合、説明は、どのマクロが何を行うかをすばやく特定するのに役立ちます。そうしないと、推測する必要がある場合があります。
-
[OK] をクリックして、記録を開始します。
-
記録する操作を実行します。
-
[ 開発者 ] タブの [ コード ] グループで、[ 記録の停止 ]
をクリックします。または
Alt + T + M + R キーを押します。
Excel で記録したマクロを使用する
[開発] タブで、[マクロ] をクリックし、ブックに関連付けられているマクロを表示します。 または、Alt + F8 キーを押します。 [マクロ] ダイアログ ボックスが開きます。
注意: マクロを元に戻すことはできません。 記録したマクロを初めて実行する前に、マクロを実行するブックを保存しておくか、ブックのコピーでマクロを実行し、不要な変更が行われないようにします。 マクロを実行し、求めた結果が得られなかった場合、保存せずにブックを終了してください。
Excel のマクロに関する追加情報を以下の表にまとめてあります。
作業 |
説明 |
マクロで利用できるセキュリティ設定に関する特定の情報とその意味を確認します。 |
|
マクロはさまざまな方法で実行できます。たとえば、ショートカット キー、グラフィック オブジェクト、クイック アクセス ツール バー、ボタンを使用できます。ブックを開くときにも実行できます。 |
|
Visual Basic エディターを利用し、ブックに関連付けられているマクロを編集します。 |
|
別の場所で使用する VBA マクロがブックに含まれている場合、Microsoft Visual Basic Editor を使用して、そのマクロを含むモジュールを、開いている別のブックにコピーできます。 |
|
マクロをオブジェクト、図形、グラフィックに割り当てる |
|
マクロをグラフィック アイコンに割り当て、それをクイック アクセス ツール バーまたはリボンに追加できます。 |
|
ワークシートのフォームと ActiveX コントロールにマクロを割り当てることができます。 |
|
Office ドキュメントのマクロを有効または無効にする方法について説明します。 |
|
Visual Basic エディターを起動する |
Alt + F11 キーを押します。 |
Visual Basic 要素に関するヘルプを表示する方法について説明します。 |
記録したコードを Visual Basic Editor (VBE) で操作する
記録したコードを Visual Basic Editor (VBE) で操作し、独自の変数、制御構造、マクロ レコーダーでは記録できないその他のコードを追加できます。 マクロ レコーダーは記録中に行ったほとんどすべての動作を記録するので、マクロの目的にかなっていない不要なコードが記録されている場合、それを除去することもできます。 記録したコードを見直す作業は、VBA プログラミング技能を学び、磨く上で大切です。
「Excel VBA の基礎知識」では、記録したコードの変更方法をサンプル コードを用いて説明しています。
マクロを記録する
マクロについて、知っていると便利なことがいくつかあります。
-
Excel の範囲内で一連のタスクを実行するためのマクロを記録すると、マクロは範囲内のセルでのみ実行されます。 そのため、範囲に余分な行を追加した場合、マクロは新しい行に対してプロセスを実行せず、元の範囲内のセルのみを実行します。
-
一連の作業が長い場合、1 つの長いマクロを記録する代わりに、関連する複数のマクロを作成してください。
-
マクロに記録できるのは、Excel 内の作業に限定されません。 マクロ プロセスは、他の Office アプリケーションや Visual Basic Application (VBA) をサポートする他のアプリケーションに拡張できます。 たとえば、最初に Excel でテーブルを更新し、次に Outlook を開き、そのテーブルを特定のメール アドレスに送信するマクロを記録できます。
マクロと VBA ツールは [開発] タブにあります。このタブは既定で非表示になっているため、最初の手順はこれを有効にすることになります。
-
[Excel > 基本設定]に移動します。.. リボン & ツール バーを > します。
-
[リボンのユーザー設定] カテゴリの [メイン タブ] の一覧で、[開発] チェック ボックスをオンにしてから、[保存] をクリックします。
次の手順でマクロを記録します。
-
[開発] タブの [マクロの記録] をクリックします
-
[マクロ名] ボックスにマクロ名を入力します。 複数のマクロを作成したときにすぐに見つけられるように、名前はできるだけわかりやすいものにしてください。
注: 2 番目以降の文字には、文字、数字、またはアンダースコア (_) を使用できます。 マクロ名にスペースは使用できません。 単語を区切るときはアンダースコアを使います。 セル参照と同じマクロ名を使用した場合、マクロ名が無効であることを通知するエラー メッセージが表示されることがあります。
-
[マクロの保存先] の一覧で、マクロを保存する場所を選択します。
一般に、 このブック の場所にマクロを保存しますが、Excel を使用するたびにマクロを使用できるようにする場合は、[ 個人用マクロ ブック] を選択します。 [個人用マクロ ブック] を選択すると、非表示の個人用マクロ ブック (PERSONAL) が作成されます。XLSB) がまだ存在しない場合は、このブックにマクロを保存します。 そのフォルダー内のブックは、Excel が起動するたびに自動的に開き、個人用マクロ ブックに保存したコードが [マクロ] ダイアログに一覧表示されます。これについては、次のセクションで説明します。
-
マクロを実行するためにキーボード ショートカットを割り当てるには、[ショートカット キー] ボックスに、使用する文字を入力します (大文字と小文字のいずれも可)。 ショートカット キーを登録したマクロを含むブックが開いている間は、対応する Excel の既定のショートカット キーが無効になるため、既存のショートカット キーに対応するキーの組み合わせは使用しないことをお勧めします。
-
[説明] ボックスに、マクロの作業内容の簡単な説明を入力します (省略可能)。
説明フィールドは省略可能ですが、入力することをお勧めします。 マクロを実行する他のユーザーに役立つ可能性のある情報を含むわかりやすい説明を入力すると便利です。 多数のマクロを作成する場合、説明は、どのマクロが何を行うかをすばやく特定するのに役立ちます。そうしないと、推測する必要がある場合があります。
-
[OK] をクリックして、記録を開始します。
-
記録する操作を実行します。
-
[開発] タブの [記録終了] をクリックします。
Excel で記録したマクロを使用する
[開発] タブで、[マクロ] をクリックし、ブックに関連付けられているマクロを表示します。 [マクロ] ダイアログ ボックスが開きます。
注: マクロを元に戻すことはできません。 記録したマクロを初めて実行する前に、マクロを実行するブックを保存しておくか、ブックのコピーでマクロを実行し、不要な変更が行われないようにします。 マクロを実行し、求めた結果が得られなかった場合、保存せずにブックを終了してください。
Excel のマクロに関する追加情報を以下の表にまとめてあります。
作業 |
説明 |
Excel for Mac のマクロを有効または無効にする方法について説明します。 |
|
別の場所で使用する VBA マクロがブックに含まれている場合、Microsoft Visual Basic Editor を使用して、そのマクロを含むモジュールを、開いている別のブックにコピーできます。 |
|
マクロをオブジェクト、図形、グラフィックに割り当てる |
|
マクロをグラフィック アイコンに割り当て、それをクイック アクセス ツール バーまたはリボンに追加できます。 |
|
ワークシートのフォームと ActiveX コントロールにマクロを割り当てることができます。 |
|
Visual Basic エディターを起動する |
[開発] タブで、[Visual Basic] をクリックするか、[ツール] メニュー、[マクロ]、[Visual Basic エディター] の順にクリックします。 |
Visual Basic 要素に関するヘルプを表示する方法について説明します。 |
補足説明
Excel Tech Communityで、いつでも専門家に質問できます。また、コミュニティでは、サポートを受けられます。