ExcelとAccessのスキルアップをサポートするサイトです

ExcelとAccessの学習室

【VBA超入門】Excelでマクロ記録を使う

『エクセルのマクロ機能は便利だと聞くけど、何から始めればいいのかな?』

『VBAを書けないと、マクロは使えないのかな?』

こういった疑問に、ここでは出来るだけ分かりやすくお答えします。

Excelの「マクロの記録」を使うと、シート上で行った操作をExcelに覚えさせて、あとから同じ操作を実行できます。
最初からVBAのコードを書かなくても、あらゆるExcel操作を自動化する入口として使える機能です。

この記事では、開発タブの表示、マクロの記録開始、記録終了、実行、保存までの流れを初心者向けに説明します。
あわせて、記録したマクロを実務でどう活用するか、記録されたVBAコードをどこで確認するか、記録するときに注意したい点も整理します。

マクロ記録の基本は、操作を記録し、実行して結果を確認したあと、マクロ有効ブック(.xlsm)で保存する流れです。
VBAコードの確認は、必要に応じて行います。

この流れを一度経験しておくと、毎回同じように行っているExcel作業を「これは記録できそうだ」と考えやすくなります。

Excelのマクロ記録とは

マクロの記録を一言にまとめると、Excelで行った操作をVBAコードとして記録し、あとから同じ操作を実行できる機能です。

開発タブの記録ボタンをクリックすれば、セルの文字を置換する、表に罫線を引く、見出し行の色を変える、列幅を調整する、といったExcel上の操作をそのまま記録できます。
記録したマクロを実行すると、同じ操作をExcelがもう一度行ってくれます。

マクロという言い回しが難しく感じるかもしれませんが、記録機能を使う段階では、最初からVBAの文法を覚える必要はありません。
まずは、普段自分が手で行っている操作をExcelに記録させることから始めると分かりやすいです。

ただし、マクロの記録はあくまでも「画面上で行った操作をそのまま覚える」機能です。
不要なクリックやセル移動も記録されることがありますし、毎回データの範囲や列の位置が変わる作業では、そのまま使い回せない場合もあります。
このあたりの注意点は、後半で説明します。

マクロの記録で自動化しやすい作業

マクロの記録に向いているのは、操作の手順や対象範囲が毎回ほぼ同じ定型作業です。作業の特徴によって、記録したマクロをそのまま使いやすいかが変わります。

分類作業の特徴例注意点
向いている手順、範囲、列の並びが毎回ほぼ同じ置換、書式設定、印刷設定、CSV整形記録前に操作順を決める
注意が必要データ件数や対象範囲が毎回変わる月ごとに行数が大きく変わる一覧記録した範囲だけ処理されることがある
向いていない場合がある条件によって処理を分ける部署ごとに処理内容を変えるVBAコードの修正が必要になりやすい

範囲の変化や条件による処理の分岐に対応するには、VBAコードの修正が必要になることがあります。まずは、同じ手順・同じ範囲で繰り返す作業から試してみましょう。

Excelでマクロを記録する前の準備

まずは、リボンに「開発」タブを表示しましょう。
Excelの初期設定では、開発タブが表示されていない場合があります。
マクロの記録ボタンやVisual Basicのボタンは開発タブにあるため、先に表示しておく必要があります。

ファイルタブのオプションを選択してください。

リボンのユーザー設定をクリックし、開発タブにチェックを入れます。

これで、リボンに開発タブが表示されます。

「マクロの記録」ボタンは、この開発タブの中にあります。
また、Excelウィンドウ下部のステータスバーにも、マクロ記録用のボタンが表示されている場合があります。

もう1つ、保存形式にも注意が必要です。
通常のExcelブックである.xlsx形式では、マクロを保存できません。
記録したマクロを残したい場合は、マクロ有効ブック(.xlsm)として保存します。
保存の操作は後ほど説明しますが、ここでは「マクロを使うブックは.xlsxではなく.xlsmで保存する」と覚えておきましょう。

Excelでマクロを記録・実行・保存する手順

文字列の『P1』『P2』…『P10』を用意し、『S1』『S2』…『S10』に置き換えます。
置換の内容自体はシンプルですが、マクロの記録開始、操作の実行、記録終了、実行、保存までの流れを学習するには分かりやすい例です。

記録したマクロを実行する

まず、開発タブの「マクロの記録」ボタンをクリックしましょう。

「マクロの記録」のダイアログが表示されます。

ここでは、マクロ名、ショートカットキー、マクロの保存先、説明を設定できます。
はじめて試す場合は、マクロ名はそのままでもかまいません。

ただし、実務で使う場合は、あとから見て分かる名前にしておくと便利です。
たとえば、表の書式を整えるマクロなら FormatTable、印刷設定を整えるマクロなら PrintSetting のように、内容が分かる名前にしておくと探しやすくなります。

ショートカットキーは、必要な場合だけ設定します。
既存のExcelショートカットと重なると混乱しやすいので、初心者のうちは無理に設定しなくても大丈夫です。

今回はマクロ名を「Macro1」、保存先を「作業中のブック」にし、ショートカットキーは空欄のままにします。設定を確認したら「OK」をクリックすると、記録が始まります。

エクセルウィンドウの下にもボタンがありますが、リボンの記録ボタンと同じように使えます。

マクロの記録が開始されると、記録ボタンが録画停止ボタンに変わります。
記録を止めたいときは、このボタンを押します。

ここからは、置換処理をシンプルに実行するだけです。
ホームタブの「検索と置換」ボタンをクリックし、置換ダイアログを開きます。

オプションをクリックします。

検索する文字列にP、置換する文字列にSを入力します。

「すべて置換」ボタンを押すと、PがSに変わります。

ここで、「記録終了」のボタンを押します。
この動作はMacro1として記録されます。

マクロの記録中は、セルを選択する、スクロールする、別の場所をクリックする、といった操作も記録される場合があります。
記録を始める前に「どの順番で操作するか」を軽く決めておくと、あとから直す部分を減らせます。

タイミング確認すること理由
記録前操作順、対象範囲、保存形式を確認する不要な操作や保存ミスを減らすため
記録中覚えさせたい操作だけを行うセル選択やスクロールも記録される場合があるため
記録後マクロ一覧から実行し、結果を確認する記録どおりに動くか確認するため
保存時.xlsm形式を選ぶ.xlsxではマクロを保存できないため
必要に応じてVBEでコードを確認する不要なコードや対象範囲を見直すため

記録したマクロは、開発タブの「マクロ」から実行できます。

練習にはコピーしたブックを使ってください。マクロによる変更は、通常の[元に戻す]では取り消せません。

まず、実行した結果が分かるように、練習用のデータを元に戻しましょう。

記録中の操作で、文字列の「P1」〜「P10」はすでに「S1」〜「S10」に変わっています。
記録が終了していることを確認し、同じセルに「P1」〜「P10」を入力し直してください。
この準備をしないと、Macro1を実行しても置換するPがなく、見た目が変わりません。

準備ができたら、開発タブの「マクロ」をクリックします。

マクロを選択するダイアログが表示されるので、「Macro1」を選択して「実行」ボタンをクリックしてください。

「P1」〜「P10」が「S1」〜「S10」に変われば、記録したマクロを実行できています。
このように、一度記録した操作は、マクロ一覧から選んで繰り返し実行できます。

ショートカットキーやシート上のボタンから実行する方法もあります。必要に応じて設定してください。
マクロの記録を開始するときにショートカットキーを設定しておくと、キーボード操作でマクロを実行することもできます。

また、記録したマクロはシート上に配置したボタンから実行することもできます。このボタンには、記録済みのマクロを割り当てます。

シート上に実行用ボタンを作る基本の流れは、次のとおりです。

  1. 開発タブをクリックする
  2. 「挿入」からフォームコントロールのボタンを選ぶ
  3. シート上でボタンを配置する
  4. 表示されたダイアログで、実行したいマクロを割り当てる
  5. ボタン名を「書式を整える」「印刷設定」など分かりやすい名前に変更する

決まった担当者以外も使うファイルでは、ボタンにしておくと操作しやすくなります。
たとえば、月次資料のシートに「表を整える」ボタンを置いておけば、マクロ一覧を開かなくても同じ処理を実行できます。

実行方法向いている場面注意点
マクロ一覧から実行初めて使うマクロ、動作確認毎回一覧を開く手間がある
ショートカットキー毎日何度も使う操作既存ショートカットと重ならないようにする
シート上のボタン他の担当者も使う共有ファイル記録開始ボタンとは別物だと分かる名前にする

.xlsm形式で保存する

最後に、マクロを登録したブックを保存します。
上書き保存ボタンを押すと、ファイル形式によっては警告ダイアログが表示されます。
この場合は「いいえ」をクリックします。

ファイル形式をマクロ有効ブック(.xlsm)にしてください。

拡張子xlsmのエクセルファイルが保存されました。

ここは大事なところです。
通常の.xlsx形式で保存すると、記録したマクロは保存できません。
せっかく記録しても、保存形式を間違えるとマクロを残せないので注意しましょう。

Excelのマクロ記録を実務で活用する例

マクロの記録は、毎回同じ手順で行うExcel作業に向いています。
操作する場所や順番がある程度決まっている作業なら、記録したマクロを繰り返し使いやすくなります。

活用例記録する操作注意点
表の書式を整える太字、背景色、罫線、列幅調整、表示形式表の開始位置や列数が変わる場合は確認する
印刷設定を統一する用紙の向き、余白、印刷範囲、拡大縮小行数やシート構成が変わる場合は印刷範囲を見直す
CSVやダウンロードデータを整形する不要列削除、列順変更、表示形式、フィルター列名や列の位置が毎回同じか確認する
定型レポートを作成する不要行削除、並べ替え、見出し整形、印刷用の書式人の判断が必要な集計やコメント作成は別対応にする
グラフの書式を統一するタイトル、色、凡例位置、サイズ調整グラフの数や配置が変わる場合は注意する

最初に試しやすいのは、表の書式を整えるマクロです。
たとえば、毎週ダウンロードする売上一覧で、見出し行を太字にする、背景色を付ける、罫線を引く、列幅を自動調整する、といった操作を記録できます。

記録する操作の例は、次のような流れです。

  1. 書式を整えたい表の範囲を選択する
  2. 見出し行を太字にする
  3. 見出し行に背景色を付ける
  4. 表全体に罫線を引く
  5. 数値列に桁区切りや通貨などの表示形式を設定する
  6. 日付列に日付の表示形式を設定する
  7. 列幅を自動調整する
  8. 必要であればオートフィルターを設定する
  9. 記録を終了する

このマクロを実行すると、同じ書式設定を一度に行えます。
操作手順が一定で、Excelの画面操作だけで完結するため、初心者でも記録しやすい例です。

印刷設定、CSV整形、定型レポート、グラフの書式統一も考え方は同じです。
毎回同じ形のデータや帳票を扱うなら、手作業で繰り返している操作を記録できます。

一方で、表の開始位置、列の並び、データ範囲、グラフの数などが毎回変わる作業は注意が必要です。
条件によって処理を分けたい場合も、記録だけでは難しいことがあります。

記録されたVBAコードの確認と注意点

マクロの記録を使うと、Excelの操作はVBAコードとして保存されます。
最初はコードを書き換えなくてもよいので、どこに保存されるかだけ確認しておきましょう。

開発タブの「Visual Basic」をクリックすると、Visual Basic Editor(VBE)が起動します。
キーボードでは、Alt + F11 でも開けます。

VBEを開いたら、標準モジュールの中にあるModule1を確認します。
そこに、記録したMacro1のコードが保存されています。

ここでは、VBAコードを詳しく読めなくても大丈夫です。
まずは「記録した操作は標準モジュールにコードとして保存されている」と分かれば十分です。

記録されたコードには、スクロールやセル選択などの不要な動きが含まれることがあります。
Select や Activate が多い場合は、「選択しただけの操作も記録される」と考えると分かりやすいです。

確認項目内容
コードの場所Alt + F11でVBEを開き、標準モジュールを確認する
SelectやActivateセルやシートを選択した操作として多く記録されることがある
絶対参照と相対参照同じセル位置を使うか、選択中のセルを基準にするかで動作が変わる
初心者の対応最初はコードを書き換えず、同じ形式のデータで動作確認する

セルの選択や移動を記録するときは、「絶対参照」と「相対参照」の違いにも注意しましょう。
絶対参照では「B2セル」のように固定のセル位置を、相対参照では「開始したセルから1つ右」のように相対的な位置を記録します。

たとえば、A1セルを選んだ状態からB1セルに移動して文字を入力する操作を記録したとします。
絶対参照で記録すると、実行時もB1セルに入力します。
相対参照で記録すると、実行時に選んでいるセルの1つ右に入力します。

相対参照で記録する場合は、記録を始める前に、開発タブの「相対参照で記録」をオンにします。
ただし、相対参照にしても、増えたデータの行数に合わせて処理範囲が自動で広がるわけではありません。

マクロの記録でよくある質問

VBAを書けなくてもマクロの記録は使えますか?

使えます。マクロの記録は、Excel上で行った操作を記録する機能です。
最初からVBAコードを書けなくても、書式設定や置換などの操作を記録して実行できます。
ただし、記録したマクロを細かく調整したい場合は、VBAコードの確認や簡単な修正が必要になることがあります。

「マクロの記録」ボタンはどこにありますか?

開発タブの中にあります。
開発タブが表示されていない場合は、ファイルタブのオプションから「リボンのユーザー設定」を開き、開発タブにチェックを入れて表示します。
Excelウィンドウ下部のステータスバーに、マクロ記録用のボタンが表示されている場合もあります。

記録したマクロをボタンから実行できますか?

できます。開発タブの「挿入」からフォームコントロールのボタンをシート上に配置し、記録済みのマクロを割り当てます。
このボタンは、マクロの記録を開始するボタンではなく、記録済みマクロを実行するためのボタンです。

マクロを保存するにはどの形式を選びますか?

マクロ有効ブック(.xlsm)で保存します。
通常のExcelブックである.xlsx形式では、マクロを保存できません。
保存時に警告が出た場合は、.xlsm形式に変更して保存してください。

記録したマクロがうまく動かないのはなぜですか?

記録したときと実行するときで、セル位置、データ範囲、列の並び、シート名などが違うと、意図したとおりに動かないことがあります。まずは、次の順に確認してください。

  1. 操作対象のブック・シートを開き、選択しているか確認する。
  2. 記録したときと同じセル位置・データ構成で試す。相対参照で記録した場合は、実行を始めるセルの位置も確認する。
  3. 記録中に操作を間違えた場合は、手順を整理して、新しいマクロとして記録し直す。
  4. それでも解決しない場合は、VBEで記録されたコードを確認します。エラーメッセージが表示された場合は、その内容も原因を調べる手がかりになります。

    まとめ

    Excelのマクロ記録は、VBAを最初から書かなくても、普段のExcel操作を自動化する入口として使える機能です。

    まずは開発タブを表示し、「マクロの記録」から記録を開始します。自動化したい操作を行ったら記録を終了し、マクロ一覧、ショートカットキー、シート上のボタンなどから実行します。

    記録したマクロを保存する場合は、通常の.xlsx形式ではなく、マクロ有効ブック(.xlsm)で保存する必要があります。

    実務では、表の書式をまとめて整える、印刷設定を統一する、CSVやダウンロードデータを整形する、定型レポートを作る、グラフの書式をそろえる、といった作業に使いやすいです。

    一方で、不要な操作も記録されること、相対参照と絶対参照で動きが変わること、データ範囲やセル位置が変わる作業では注意が必要なことも覚えておきましょう。

    まずは小さな作業を1つ記録して、実行、保存、コード確認まで試してみると、マクロの記録で何ができるかをつかめるはずです。