「Excelの作業を自動化したいけど、VBAは難しそう……」
そんな方にぴったりなのがマクロの記録です。ボタンをクリックして操作するだけで、その手順がマクロとして記録されます。
プログラミングの知識は一切いりません。
この記事では、マクロの記録の使い方を開始から実行まで順番に解説します。メリット・デメリットやVBAとの使い分けも紹介しますので、ぜひ参考にしてください。
INFO
この記事の手順は Microsoft 365 版 Excel(Windows・Mac) を基準に解説しています。Excel 2021 / 2019 でも基本的な操作は同じです。リボンや一部メニュー名は Microsoft 365 のアップデートに追随しているため、お使いの環境とまれに表記が異なる場合があります。
マクロの記録とは?
マクロの記録とは、Excelの操作をそのままVBAコードに変換してくれる機能です。記録を開始してから終了するまでの操作が、自動的にマクロとして保存されます。
たとえば「値の入力・罫線・色付け」といった一連の作業を記録しておけば、次回からボタンひとつで再現できます。
手動とマクロの作業イメージを比較してみましょう。
| 項目 | 手動作業 | マクロの記録で自動化 |
|---|---|---|
| 作業時間 | 毎回5〜10分 | 実行1秒 |
| ミスの可能性 | 入力ミス・手順忘れ | 記録どおりに実行 |
| プログラミング知識 | 不要 | 不要 |
NOTE
マクロの記録はExcel上の操作だけを記録します。別のアプリを開く、メールを送る、マウスカーソルの動きを記録する、といったことはできません。
マクロの記録の使い方
マクロの記録の手順は、次の4ステップです。
- 開発タブを表示する
- 「マクロの記録」ボタンをクリックする
- 記録したい操作を実行する
- 「記録終了」ボタンをクリックする
順番に見ていきましょう。
ステップ1: 開発タブを表示する
マクロの記録ボタンは「開発」タブに配置されています。初期設定では非表示になっているので、まだ表示していない方は先に設定しておきましょう。
開発タブの表示手順:
- 「ファイル」タブ →「オプション」を開く
- 「リボンのユーザー設定」を選択する
- 右側の一覧から「開発」にチェックを入れる
- 「OK」をクリックする
詳しい手順は以下の記事で解説しています。
ステップ2: 「マクロの記録」ボタンをクリックする
「開発」タブを開いて、「マクロの記録」をクリックします。
すると、次のような設定画面が表示されます。
各項目の意味は次のとおりです。
| 項目 | 説明 | 補足 |
|---|---|---|
| マクロ名 | マクロの名前 | 日本語でもOK。わかりやすい名前を付けましょう |
| ショートカットキー | 実行用のショートカット | 省略可。Ctrl + 任意のキーを設定できます |
| マクロの保存先 | 保存するブック | 「作業中のブック」のままで問題ありません |
| 説明 | マクロの概要メモ | 省略可。後で見返すときに便利です |
設定を確認したら「OK」をクリックしましょう。これで記録が開始されます。
TIP
マクロ名は「月次表作成」「在庫更新」のように、処理内容がわかる名前にすると管理しやすくなります。
ステップ3: 記録したい操作を実行する
OKをクリックした瞬間から記録がスタートします。ここからの操作がすべてマクロとして記録されるので、自動化したい手順を実際に実行しましょう。
たとえば、次のような操作が記録できます。
- セルに値を入力する
- セルの書式(色・罫線・フォント)を設定する
- 行や列の挿入・削除
- シートの追加・コピー
- 関数の入力
- フィルターの操作
記録中は「開発」タブのボタンが「記録終了」に変わっています。これが表示されていれば記録中です。
NOTE
操作ミスもそのまま記録されます。間違えた操作を取り消して(Ctrl + Z)やり直すと、その取り消し操作も記録されてしまいます。できるだけ正確に操作しましょう。
ステップ4: 「記録終了」ボタンをクリックする
自動化したい操作が終わったら、「開発」タブの「記録終了」をクリックします。
これでマクロの記録は完了です。記録終了を忘れるとずっと記録が続いてしまうので、忘れずにクリックしましょう。
記録したマクロの実行方法
記録したマクロを実行するには、「開発」タブの「マクロ」ボタンをクリックします。
マクロの一覧が表示されるので、実行したいマクロを選んで「実行」をクリックしましょう。
記録した操作が自動的に再現されます。
TIP
ショートカットキーを設定していた場合は、キーボード操作だけでマクロを実行できます。繰り返し使うマクロにはショートカットキーの設定がおすすめです。
記録されたVBAコードを確認する
マクロの記録で作成されたVBAコードを確認してみましょう。マクロの一覧画面で「編集」をクリックすると、VBE(Visual Basic Editor)が開きます。
実際にコードを見ると、簡単な表を作っただけなのにかなりの行数になっていることがわかります。
たとえば、セルに値を入力しただけの操作でも、次のようなコードが生成されます。
Sub Macro1()
Range("A1").Select
ActiveCell.FormulaR1C1 = "商品名"
Range("B1").Select
ActiveCell.FormulaR1C1 = "数量"
Range("A2").Select
End Sub
手動で書くなら、もっとシンプルに記述できます。
Sub 入力マクロ()
Range("A1").Value = "商品名"
Range("B1").Value = "数量"
End Sub
マクロの記録ではセルの選択(.Select)が逐一記録されるため、コードが冗長になります。これがデメリットのひとつですが、「VBAではこう書くのか」と学習の手がかりになる面もあります。
VBE(Visual Basic Editor)の画面構成や基本的な使い方は VBEのメニュー解説 を、コードを部分実行しながら動作確認したい場合は イミディエイトウィンドウの使い方 も参考になります。
マクロの記録のメリット・デメリット
マクロの記録のメリットとデメリットを整理しておきましょう。
メリット
| メリット | 内容 |
|---|---|
| VBAの知識が不要 | プログラミング経験がなくてもマクロを作れる |
| 操作がシンプル | 記録開始 → 操作 → 記録終了の3ステップ |
| コードの学習に使える | 記録されたコードを読めばVBAの書き方が学べる |
| すぐに使える | 定型作業をその場で自動化できる |
最大のメリットは「VBAを知らなくてもマクロが作れる」ことです。
また、VBAを勉強中の方にとっては「この操作をVBAで書くとどうなるのか」を確認するツールとしても活用できます。書き方がわからないときに、まず記録してコードを確認するという使い方はとても便利です。
デメリット
| デメリット | 内容 |
|---|---|
| 条件分岐ができない | 「もし〜なら」という判断処理は記録できない |
| 繰り返し処理ができない | ループ(For文・Do文)は記録されない |
| コードが冗長になる | 不要な.Selectが大量に生成される |
| 変更に弱い | セル位置が変わると正しく動かなくなる |
| Excel以外は操作できない | 他のアプリやメール送信は対象外 |
マクロの記録は「記録された通りの動きしかしない」ため、状況に応じた判断ができません。
わかりやすい例で説明しましょう。「りんご」と入力されたセルを黄色にするマクロを記録したとします。記録後にセルの内容を「ばなな」に変更しても、マクロは同じセルを黄色にします。セルの中身を見て判断しているわけではないからです。
このような「条件に応じた処理」が必要な場合は、If文 や Select Case文 を使ってVBAで直接コードを書く必要があります。繰り返し処理を組み込みたい場合は For文 や Do Loop文 の学習も合わせて進めましょう。
マクロの記録とVBAの使い分け
マクロの記録とVBAの使い分けを整理しておきましょう。
| 比較項目 | マクロの記録 | VBAで直接記述 |
|---|---|---|
| 難易度 | かんたん | 学習が必要 |
| 条件分岐(If文) | できない | できる |
| 繰り返し処理(For文) | できない | できる |
| 他ブック操作 | 限定的 | 自由自在 |
| コードの効率 | 冗長になりがち | 必要最小限に書ける |
| 柔軟性 | 低い(固定操作のみ) | 高い(変数・引数で汎用化) |
| おすすめの場面 | 定型作業の自動化 | 複雑な業務処理の自動化 |
マクロの記録が向いている場面:
- 毎月同じ書式の表を作成する
- 決まったセル範囲に罫線や色を設定する
- フィルターの適用や解除を自動化する
VBAで直接書くのが向いている場面:
- 条件によって処理を変えたい(If文 や Select Case文)
- 大量のデータを繰り返し処理したい(For文 や Do Loop文、For Each文)
- 複数のブックやシートをまたいで操作したい(変数 を使った汎用化)
まずはマクロの記録で自動化の便利さを体験してみてください。「もっと柔軟にしたい」と感じたら、VBAの学習に進むのがおすすめです。
VBAとマクロの違いについて詳しく知りたい方は、こちらの記事を参考にしてください。
Excel VBAとマクロの違いとは?初心者向けにわかりやすく解説
マクロの記録の注意点
マクロの記録を使うときに知っておきたい注意点をまとめます。
ファイル形式は「.xlsm」で保存する
マクロを含むファイルは、マクロ有効ブック(.xlsm)で保存する必要があります。通常の.xlsx形式で保存すると、マクロが削除されてしまいます。
「名前を付けて保存」でファイルの種類を「Excelマクロ有効ブック (*.xlsm)」に変更して保存しましょう。
ファイル形式の違いについて詳しくはこちらの記事をどうぞ。
Excel VBAのファイル形式とは?.xlsxと.xlsmの違いを初心者向けに解説
セキュリティ設定を確認する
Excelのセキュリティ設定によっては、マクロがブロックされて実行できないことがあります。Microsoft 365 では「トラスト センター」と呼ばれていますが、Excel 2019 以前では「セキュリティ センター」と表示される場合があります。
マクロが実行できない場合は、次の手順で設定を確認してください。
- 「ファイル」→「オプション」→「トラスト センター」(環境によっては「セキュリティ センター」)を開く
- 「トラスト センターの設定」をクリック
- 「マクロの設定」で「警告を表示してVBAマクロを無効にする」を選択
この設定にしておくと、ファイルを開いたときに黄色のバーが表示されます。「コンテンツの有効化」をクリックすればマクロが使えるようになります。
WARNING
Microsoft 365 では2022年以降、インターネットからダウンロードしたファイルのマクロが既定でブロックされる仕様になりました。社内共有や添付ファイルでマクロが動かない場合は、ファイルのプロパティ画面で「許可する」にチェックを入れる、または信頼できる場所(Trusted Locations)に配置することで実行できるようになります。
記録前にやり直し操作を確認する
マクロの記録中は、Ctrl + Z(元に戻す)の操作も記録されます。操作をミスしてやり直した場合、余計なコードが増えてしまいます。
複雑な操作を記録する場合は、事前に手順を確認してから記録を開始するのがおすすめです。
よくある質問
マクロの記録で作ったファイルをメールで送ってもマクロは動きますか?
.xlsm(マクロ有効ブック)形式のまま送れば、受信者側でもマクロが実行できます。ただし、相手のExcelのセキュリティ設定によっては「マクロが無効化されています」という黄色いバーが表示される場合があります。「コンテンツの有効化」をクリックするよう案内しましょう。社内ポリシーでマクロをブロックしている環境もあるため、事前に確認しておくと安心です。
記録中に操作ミスをしてしまいました。最初からやり直すべきですか?
ミスに気づいたらすぐに記録を終了し、マクロを削除してやり直すのがおすすめです。Ctrl+Zで元に戻す操作も記録されてしまうため、ミスとやり直しの動作が両方コードに残ります。「開発」タブ→「マクロ」→「削除」で不要なマクロを消してから、あらためて記録を開始しましょう。
記録したマクロを別のブックでも使いたい場合はどうすればいいですか?
保存先を「個人用マクロブック(PERSONAL.XLSB)」に変更するのがおすすめです。記録開始時のダイアログで「マクロの保存先」を「個人用マクロブック」に設定すると、Excelを起動するたびに自動で読み込まれ、すべてのブックからマクロを実行できます。「作業中のブック」に保存するとそのファイル内でしか使えないので、用途に応じて使い分けましょう。
VBAを勉強しなくてもマクロの記録だけで業務を自動化できますか?
繰り返し同じ手順を実行する定型作業であれば、マクロの記録だけで十分対応できます。たとえば「毎月フォーマットを整える」「決まった範囲に罫線を引く」といった操作は記録で完結します。ただし、条件によって処理を変えたい・大量のデータをループ処理したい場合はVBAの出番です。まずはマクロの記録で自動化の感覚をつかみ、「もっと柔軟にしたい」と感じたタイミングでVBAの学習に進むのがスムーズです。
まとめ
マクロの記録は、VBAの知識がなくてもExcelの定型作業を自動化できる便利な機能です。
ポイントをおさらいしておきましょう。
- 記録の手順: 開発タブ →「マクロの記録」→ 操作 →「記録終了」の4ステップ
- 実行方法: 「開発」タブ →「マクロ」→ マクロ名を選択して実行
- メリット: VBAの知識不要、操作がシンプル、コード学習にも使える
- デメリット: 条件分岐・繰り返し処理ができない、コードが冗長
- 保存形式: 必ず .xlsm(マクロ有効ブック)で保存する
まずはマクロの記録で自動化を体験してみてください。もっと柔軟な自動化に挑戦したくなったら、VBAの学習に進みましょう。
VBAの学習ステップについてはこちらの記事で詳しく解説しています。