Excel作業を繰り返し行う中で、「この作業、もっと楽にできないかな?」と感じたことはありませんか。
決まった形式のレポート作成や、データの並べ替え、書式設定など、定型的な操作はマクロの記録機能を使えば自動化できます。
この入門ガイドでは、Excelのマクロ記録機能を使って、あなたの日常業務を効率化する第一歩を踏み出す方法を解説します。
複雑なプログラミング知識は一切不要です。
【要点】Excelマクロ記録による自動化の基本
- マクロの記録機能: Excel上での操作を自動でコード化する機能。
- マクロの実行: 記録した操作をボタン一つで再現させ、作業時間を大幅に短縮。
- VBAエディター: 記録されたコードを確認・編集し、より高度な自動化を目指すためのツール。
ADVERTISEMENT
目次
マクロの記録機能とは
Excelのマクロの記録機能は、ユーザーが行った一連の操作を自動的にVBA(Visual Basic for Applications)というプログラム言語のコードに変換してくれる便利なツールです。
例えば、特定の書式設定を複数のセルに適用したい場合や、データの並べ替え、フィルターの設定といった定型的な作業を記録しておけば、次回からはボタンをクリックするだけで同じ操作を瞬時に実行できるようになります。
これにより、手作業によるミスを減らし、作業時間を大幅に短縮することが可能です。
この機能を利用するには、Excelの「開発」タブを表示させる必要があります。通常、Excelの標準状態では「開発」タブは非表示になっているため、最初に表示設定を行うことから始めます。
「開発」タブの表示方法
「開発」タブが表示されていない場合は、以下の手順で表示させることができます。
- ファイルタブをクリック
Excel画面左上の「ファイル」タブをクリックします。 - オプションを選択
画面左側のメニューから一番下にある「オプション」をクリックします。 - リボンのユーザー設定を開く
Excelのオプションダイアログボックスが表示されたら、左側のメニューから「リボンのユーザー設定」を選択します。 - 「開発」にチェックを入れる
右側の「リボンのユーザー設定」リストの中から、「開発」という項目を探し、チェックボックスにチェックを入れます。 - OKをクリック
設定を完了するために、「OK」ボタンをクリックします。
これで、Excelのリボンに「開発」タブが表示され、マクロ機能にアクセスできるようになります。
マクロの記録を開始・停止する手順
「開発」タブが表示されたら、いよいよマクロの記録を開始できます。記録したい一連の操作を始める前に、記録を開始し、操作が終わったら停止させる必要があります。
マクロの記録を開始する
- 「開発」タブを選択
Excelのリボンから「開発」タブをクリックします。 - 「マクロの記録」をクリック
「コード」グループにある「マクロの記録」ボタンをクリックします。 - マクロ名などを設定
「マクロの記録」ダイアログボックスが表示されます。 - マクロ名を入力
「マクロ名」に、記録する操作内容がわかるような名前を入力します。名前は英数字で、スペースは使えません。例:「書式設定」「データ整形」など。 - ショートカットキーを設定(任意)
「Ctrl」キーと組み合わせて実行するショートカットキーを設定できます。設定すると便利ですが、Excel標準のショートカットキーと重複しないように注意が必要です。 - マクロの保存場所を選択
「作業ウィンドウ」でマクロを保存する場所を選択します。 - 「OK」をクリックして開始
設定が終わったら、「OK」ボタンをクリックすると、マクロの記録が開始されます。
記録が開始されると、Excelのステータスバー(画面左下)に「準備完了」という表示が「記録中」に変わります。また、リボンの「マクロの記録」ボタンが、マクロの停止ボタン(四角いアイコン)に変わります。
記録中の操作
記録が開始されたら、自動化したい一連の操作を実際に行います。例えば、セルの背景色を変更する、文字のフォントサイズを大きくする、特定の文字列を入力するなど、普段行っている操作をそのまま実行してください。
ただし、記録中にマウスでクリックした場所や、選択したセルなども記録されるため、意図しない操作まで記録されないように注意が必要です。
マクロの記録を停止する
- 「開発」タブを選択
「開発」タブをクリックします。 - 「記録終了」をクリック
「コード」グループにある「記録終了」ボタン(停止ボタン)をクリックします。
または、Excelのステータスバー左下にある「記録中」という表示をクリックしても記録を停止できます。
これで、一連の操作がマクロとして記録されました。
記録したマクロを実行する
マクロの記録が完了したら、次にそのマクロを実行して、記録した操作が正しく再現されるかを確認します。マクロの実行方法はいくつかあります。
マクロダイアログボックスから実行する
- 「開発」タブを選択
「開発」タブをクリックします。 - 「マクロ」をクリック
「コード」グループにある「マクロ」ボタンをクリックします。 - 実行したいマクロを選択
「マクロ」ダイアログボックスが表示されるので、実行したいマクロ名を選択します。 - 「実行」ボタンをクリック
「実行」ボタンをクリックすると、マクロが実行されます。
ショートカットキーで実行する
マクロを記録する際にショートカットキーを設定した場合、そのショートカットキー(例:Ctrl + Shift + A)を押すことで、マクロを即座に実行できます。
ボタンを作成して実行する
より視覚的に分かりやすく、他の人でも操作しやすいように、ボタンにマクロを登録することも可能です。
- 「開発」タブの「挿入」を選択
「開発」タブの「コントロール」グループにある「挿入」をクリックします。 - 「フォームコントロール」のボタンを選択
「フォームコントロール」の中から「ボタン(フォームコントロール)」を選択します。 - シート上にボタンを描画
シート上でドラッグしてボタンを配置したい範囲を指定します。 - マクロを割り当てる
ボタンを配置すると、「マクロの割り当て」ダイアログボックスが表示されます。実行したいマクロを選択し、「OK」をクリックします。 - ボタンのテキストを変更
作成されたボタンを右クリックし、「テキストの編集」を選択して、ボタンの表示名を分かりやすいものに変更します(例:「書式適用」)。
これで、作成したボタンをクリックするだけでマクロが実行できるようになります。
ADVERTISEMENT
マクロの保存方法
マクロを含むExcelファイルは、保存形式に注意が必要です。通常のマクロなしのExcelブック(.xlsx形式)で保存すると、記録したマクロは失われてしまいます。
マクロ有効ブックとして保存する
- 「ファイル」タブをクリック
「ファイル」タブをクリックします。 - 「名前を付けて保存」を選択
「名前を付けて保存」を選択します。 - 保存場所を選択
保存したい場所を選択します。 - ファイルの種類を変更
「ファイルの種類」のドロップダウンリストから、「Excel マクロ有効ブック (*.xlsm)」を選択します。 - 「保存」をクリック
「保存」ボタンをクリックします。
「.xlsm」形式で保存することで、マクロがブック内に保持され、次回ファイルを開いたときにマクロを実行できるようになります。
マクロの記録における注意点と制限
マクロの記録機能は非常に便利ですが、万能ではありません。記録機能にはいくつかの制限や注意点があり、これらを理解しておかないと、意図しない結果になったり、期待通りの自動化ができなかったりします。
記録されない操作がある
マクロの記録機能は、Excel上での全ての操作を記録できるわけではありません。例えば、セルの選択範囲を変更するだけの操作や、特定の条件分岐(IF文など)といった、プログラム的なロジックを含む操作は記録されません。
また、ダイアログボックスの表示や、一部のメニュー操作も記録されない場合があります。
相対参照と絶対参照
マクロの記録を開始する際、「絶対参照」と「相対参照」のどちらで記録するかを選択できます。これは、記録される操作が、常に同じセルを対象とするか(絶対参照)、それとも現在選択しているセルからの相対的な位置を対象とするか(相対参照)を決定します。
通常、Excelの初期設定では「絶対参照」になっています。これは、例えば「A1セルに色を付ける」という操作を記録した場合、マクロを実行するたびに常にA1セルに色が付くということです。
一方、「相対参照」で記録すると、「現在選択しているセルの1つ右隣のセルに色を付ける」といった記録になります。これにより、マクロを実行するたびに、その時アクティブになっているセルからの相対的な位置で操作が実行されます。
これらの参照方法は、「開発」タブの「マクロの記録」ボタンの横にある「絶対参照」または「相対参照」というボタンで切り替えることができます。記録を開始する前に、どちらの参照方法が目的に合っているかを確認し、必要であれば切り替えてから記録を開始してください。
意図しない操作の記録
記録中に誤ってクリックしてしまったり、不要な操作をしてしまったりすると、それらも全てマクロコードとして記録されてしまいます。記録されたマクロを実行した際に、予期せぬ動作の原因となるため、注意が必要です。
もし不要な操作を記録してしまった場合は、後述するVBAエディターで該当するコードを削除する必要があります。
単純な繰り返し作業への適用が基本
マクロの記録機能は、あくまでExcel上での「操作」をそのまま記録するものです。そのため、複雑な条件分岐や、エラー処理、ユーザーとの対話(メッセージボックスの表示など)といった、より高度なロジックを自動化するには限界があります。
単純な繰り返し作業や、決まった手順の自動化には非常に有効ですが、より柔軟で高度な自動化を行いたい場合は、VBAエディターでコードを直接編集したり、VBAを学習したりする必要があります。
VBAエディターでマクロコードを確認・編集する
マクロの記録機能で生成されたVBAコードは、VBAエディター(Visual Basic Editor)という専用のウィンドウで確認したり、編集したりできます。記録されたコードを理解することで、より効率的な自動化や、記録されたマクロの修正が可能になります。
VBAエディターを開く方法
- 「開発」タブを選択
「開発」タブをクリックします。 - 「Visual Basic」をクリック
「コード」グループにある「Visual Basic」ボタンをクリックします。 - ショートカットキーで開く
「Alt」キーを押しながら「F11」キーを押すことでもVBAエディターを開くことができます。
VBAエディターが開くと、左側に「プロジェクトエクスプローラー」が表示され、開いているブックやシート、標準モジュールなどがツリー形式で表示されます。記録されたマクロコードは、通常「標準モジュール」の中に格納されています。
記録されたコードの確認
「プロジェクトエクスプローラー」で、該当する標準モジュール(例:「Module1」)をダブルクリックすると、右側のウィンドウにVBAコードが表示されます。マクロの記録機能で生成されたコードは、Subプロシージャとして記述されています。
例えば、A1セルに「こんにちは」と入力し、背景色を黄色にした場合、以下のようなコードが生成されることがあります。
Sub 書式設定()
'
' 書式設定 Macro
'
' Ctrl+Shift+A で実行
'
Range("A1").Select
ActiveCell.FormulaR1C1 = "こんにちは"
Range("A1").Select
Selection.Interior.Pattern = xlSolid
Selection.Interior.ThemeColor = xlThemeColorAccent1
Selection.Interior.TintAndShade = 0.599993896298251
End Sub
このように、各行がExcel上での操作に対応しています。例えば `Range(“A1”).Select` は「A1セルを選択する」という操作です。
コードの編集とデバッグ
記録されたコードに不要な操作が含まれている場合(例:意図せず選択してしまったセルなど)、その行を削除することでコードを整理できます。
また、記録されたマクロをそのまま実行するだけでなく、コードを編集することで、より高度な処理を追加したり、条件分岐を加えたりすることも可能です。例えば、特定の条件を満たす場合のみ処理を実行するように変更したり、ループ処理で複数のファイルやシートに対して同じ操作を繰り返したりすることができます。
しかし、VBAコードの編集にはある程度の知識が必要です。誤った編集はマクロの動作不良を引き起こすため、変更を加える際は慎重に行い、必要であればバックアップを取ることをおすすめします。
マクロの記録とVBAの使い分け
マクロの記録機能は、Excelでの日常的な作業を自動化するのに非常に役立ちますが、その能力には限界があります。どのような場合に記録機能が適しており、どのような場合にVBAコードの直接編集や学習が必要になるのでしょうか。
マクロ記録が適しているケース
マクロの記録機能は、以下のような場合に特に有効です。
- 決まった書式設定(フォント、色、罫線など)を複数のセルやシートに適用したい。
- データの並べ替えやフィルターの設定など、定型的なデータ整理を行いたい。
- 特定の範囲のデータをコピー&ペーストしたい。
- 簡単なレポート作成で、決まった手順でデータを整形・配置したい。
- Excelの操作に慣れていない人でも、ボタン一つで実行できる簡単な自動化を提供したい。
つまり、ユーザーがExcel上で行う「クリック」「入力」「選択」といった一連の操作を、そのまま再現させたい場合に、マクロの記録は最も手軽で効果的な方法です。
VBAコードの編集・学習が必要なケース
一方で、マクロの記録機能だけでは実現が難しい、または非効率的なケースも多く存在します。そのような場合は、VBAエディターでコードを直接編集したり、VBAの学習を進めたりすることが推奨されます。
- 複雑な条件分岐(例:A列の値が100以上ならB列をコピー、そうでなければC列をコピー)。
- ループ処理(例:シート1からシート10まで、全てのシートに対して同じ処理を実行)。
- エラー処理(例:ファイルが見つからない場合にエラーメッセージを表示し、処理を中断する)。
- ユーザーからの入力や選択を受け付ける(例:InputBox関数やMsgBox関数を使った対話)。
- 外部ファイル(Excel、CSV、テキストファイルなど)の読み込みや書き込み。
- Webサイトからのデータ取得や、Webページへのデータ送信。
- 既存のマクロコードの効率化や、機能追加。
これらの高度な処理は、記録機能では生成できないため、VBAの構文を理解し、コードを記述・編集する必要があります。しかし、記録機能で生成されたコードを足がかりに、VBA学習を進めることは非常に有効なアプローチです。
まとめ
Excelのマクロ記録機能を使えば、繰り返し行う定型作業を自動化し、大幅な時間短縮とヒューマンエラーの削減が実現できます。
「開発」タブの表示から、マクロの記録・停止、そして実行・保存方法までを習得することで、あなたのExcel業務はより効率的になるでしょう。
まずは簡単な作業からマクロ記録を試してみてください。そして、生成されたVBAコードを確認し、必要に応じて修正を加えることで、より高度な自動化への道が開けます。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Outlook】「メール送信を5分遅らせる」設定!誤送信を防ぐ最強のディレイ機能
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
