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

ExcelとAccessの学習室

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

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

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

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

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

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

エクセルのマクロ記録を使うための流れは、以下のとおりです。

  1. 開発タブを表示する
  2. 「マクロの記録」ボタンから記録を始める
  3. 自動化したい操作を実行する
  4. 記録を終了する
  5. 記録したマクロを実行する
  6. マクロ有効ブック(.xlsm)で保存する
  7. 必要に応じてVBAコードを確認する

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

Excelのマクロ記録とは

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

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

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

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

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

マクロの記録に向いているのは、手順が決まっている定型作業です。
毎回同じセル範囲に対して書式を設定する、決まった文字列を置換する、同じ条件で並べ替えやフィルターを設定する、印刷の向きや余白をそろえる、といった作業は記録マクロと相性が良いです。

  • 毎回同じセル範囲に対して書式を設定する
  • 決まった文字列を置換する
  • 同じ条件で並べ替えやフィルターを設定する
  • 印刷の向き、余白、拡大縮小などを毎回同じ設定にする
  • CSVやダウンロードデータを決まった形に整える
  • 定型レポートの見た目をそろえる
分類作業の特徴注意点
向いている手順、範囲、列の並びが毎回ほぼ同じ置換、書式設定、印刷設定、CSV整形記録前に操作順を決める
注意が必要データ件数や対象範囲が毎回変わる月ごとに行数が大きく変わる一覧記録した範囲だけ処理されることがある
向いていない場合がある条件によって処理を分ける部署ごとに処理内容を変えるVBAコードの修正が必要になりやすい

反対に、対象の列が毎回変わる、データ件数が大きく変わる、条件によって処理を分ける、といった作業は、記録しただけではうまく動かないことがあります。
その場合は、記録されたVBAコードを確認し、必要に応じて修正していく流れになります。

この記事では、高度なVBAの書き方までは広げすぎず、まずは「記録して実行する」「実務で使えそうな作業を見つける」ところを中心に説明します。

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

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

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

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

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

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

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

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

ここでは、P1からP10までの文字列を、PからSに置換するマクロを作ってみます。
置換の内容自体はシンプルですが、マクロの記録開始、操作の実行、記録終了、実行、保存までの流れを学習するには分かりやすい例です。

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

マクロの記録」のダイアログが表示されます。
OKボタンをクリックすると、ダイアログが閉じて記録が始まります。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

先ほどの例でMacro1を実行すると、PがSに置換されます。
もう一度別の置換マクロを記録しておけば、SをPに戻すような操作も実行できます。
このように、マクロ一覧から選んで実行する方法は、最初に覚える実行方法として分かりやすいです。

マクロの記録を開始するときにショートカットキーを設定しておくと、キーボード操作でマクロを実行することもできます。
毎日何度も使うマクロであれば便利ですが、Excelにもともと用意されているショートカットキーと重なると、意図しない動作になることがあります。
最初はマクロ一覧から実行し、慣れてから必要なマクロだけにショートカットキーを設定するのがおすすめです。

また、記録したマクロはシート上に配置したボタンから実行することもできます。
ここでいうボタンは、開発タブにある「マクロの記録」ボタンとは別物です。「マクロの記録」ボタンは操作を記録し始めるためのボタンで、シート上のボタンは記録済みのマクロを実行するためのボタンです。

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

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

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

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

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

ファイル形式をマクロ有効ブック(.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のコードが保存されています。

同じ方法で別の操作を記録すると、Macro2のように別のマクロとして追加されます。

VBEを起動すると、Module1にMacro2のプログラムコードを確認出来ます。

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

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

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

詳しいVBA編集は別記事向きです。
この記事では、記録されたコードの場所と、不要な操作もコードになることを押さえておけば十分です。

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

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

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

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

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

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

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

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

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

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

よくある原因は、記録したときと実行するときで、セル位置、データ範囲、列の並び、シート名などが変わっていることです。
また、記録中に不要な操作をした場合、その操作もコードに含まれていることがあります。
必要に応じてVBEでコードを確認しましょう。

まとめ

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

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

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

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

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

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