繰り返しタスクを自動化するには、Microsoft Excel のマクロ記録ツールを使用してマクロを記録できます。 たとえば、形式が統一されていない日付があるときに、1 つの形式をそれらすべての日付に適用できれば便利です。 それを実行できるのがマクロです。 特定の形式を適用するマクロを記録し、必要なときにそのマクロを再び実行します。
マクロを記録したとき、マクロ記録は Visual Basic for Applications (VBA) コードのすべての手順を記録します。 これらの手順には、テキストや数値の入力、リボンまたはメニューのセルまたはコマンドのクリック、セル、行、または列の書式設定、Microsoft Access などの外部ソースからのデータのインポートが含まれます。 Visual Basic アプリケーション (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+Z ( 元に戻す) を使用すると、その Excel インスタンスで [元に戻す] 機能が失われます。
[マクロの保存先] の一覧で、マクロを保存する場所を選択します。
通常、マクロは [ このブック ] に保存しますが、Excel を使用するときに常にマクロを使用できるようにする場合は、[ 個人用マクロ ブック ] を選択します。 この [個人用マクロ ブック] を選択すると、存在しない場合は非表示の個人用マクロ ブック (Personal.xlsb) が作成され、このブックにマクロが保存されます。[説明] ボックスに、マクロの作業内容の簡単な説明を入力します (省略可能)。
説明フィールドはオプションですが、入力することをお勧めします。 また、自分やマクロを実行する他のユーザーに役立つ可能性のある情報を含む、わかりやすい説明を入力するようにしてください。 多数のマクロを作成する場合、どのマクロが何を行うかをすばやく識別するには、説明に従うと便利です。そうしないと、推測を迫られることになります。[OK] をクリックして、記録を開始します。
記録する操作を実行します。
[ 開発] タブの [コード ] グループで、[ 記録の停止
をクリックします。
または
Alt+T+M+R キーを押します。
Excel で記録したマクロを使用する
[開発] タブで、[マクロ] をクリックし、ブックに関連付けられているマクロを表示します。 または、Alt + F8 キーを押します。 [マクロ] ダイアログ ボックスが開きます。
注意
マクロを元に戻すことはできません。 記録されたマクロを初めて実行する前に、マクロを実行するブックを保存しておくか、不要な変更を防ぐためにブックのコピーを作業しておくかのいずれかを確認してください。 マクロを実行しても目的の操作が実行されない場合は、ブックを保存せずに閉じることができます。
Excel のマクロに関する追加情報を以下の表にまとめてあります。
| 作業 | 説明 |
|---|---|
| Excel のマクロのセキュリティ設定を変更する | マクロで利用できるセキュリティ設定に関する特定の情報とその意味を確認します。 |
| マクロを実行する | マクロはさまざまな方法で実行できます。たとえば、ショートカット キー、グラフィック オブジェクト、クイック アクセス ツール バー、ボタンを使用できます。ブックを開くときにも実行できます。 |
| マクロを編集する | Visual Basic エディターを利用し、ブックに関連付けられているマクロを編集します。 |
| マクロ モジュールを別のブックにコピーする | 別の場所で使用する VBA マクロがブックに含まれている場合、Microsoft Visual Basic Editor を使用して、そのマクロを含むモジュールを、開いている別のブックにコピーできます。 |
| マクロをオブジェクト、図形、グラフィックに割り当てる |
|
| ボタンにマクロを割り当てる | マクロをグラフィック アイコンに割り当て、それをクイック アクセス ツール バーまたはリボンに追加できます。 |
| ワークシート内のコントロールにマクロを割り当てる | ワークシートのフォームと ActiveX コントロールにマクロを割り当てることができます。 |
| Office ドキュメントのマクロを有効または無効にする | Office ドキュメントのマクロを有効または無効にする方法について説明します。 |
| Visual Basic エディターを起動する | Alt + F11 キーを押します。 |
| Visual Basic Editor の使用に関するヘルプを見つける | Visual Basic 要素に関するヘルプを表示する方法について説明します。 |
記録したコードを Visual Basic Editor (VBE) で操作する
記録したコードを Visual Basic Editor (VBE) で操作し、独自の変数、制御構造、マクロ レコーダーでは記録できないその他のコードを追加できます。 マクロ レコーダーは記録中に行ったほとんどすべての動作を記録するので、マクロの目的にかなっていない不要なコードが記録されている場合、それを除去することもできます。 記録したコードを見直す作業は、VBA プログラミング技能を学び、磨く上で大切です。
例で記録されたコードを変更する方法の詳細については、「Excel の VBA はじめに」を参照してください。
補足説明
Excel 技術コミュニティの専門家にいつでも質問するか、コミュニティでサポートを受けることができます。