マクロの記録は、4つの動きで終わります。[マクロの記録] を押す。いつもの操作をする。[記録の停止] を押す。翌月は、名前かショートカットでその操作を呼び出す。
毎月、売上の一覧を日付順に並べ、見出しに色と罫線を付け、金額に桁区切りを付けている事務の担当なら、この3つの作業を1回記録しておくだけで、翌月からは1回の操作で同じ結果になります。プログラムは書きません。
ただし、記録は万能ではありません。行数が毎月変わる表では、記録した範囲より下が処理されません。ファイルを .xlsx で保存するとマクロが消えます。ほかの人に渡すと、開いた先でブロックされることもあります。記録の手順、保存の形式、渡すときの注意を順に説明します。
記録の流れは4手順 準備、記録、停止、呼び出し
記録できるのは、Excel の画面で行った操作です。Microsoft のページには、記録中の操作はほぼすべて記録され、誤ってクリックした操作も含まれる、と書かれています。記録の前に、順番を決めておきます。
記録の4手順と、記録の設定画面で決める4項目作成: 編集部 / 出典: Microsoft サポート「マクロ記録で作業を自動化する」
| 手順 |
画面 |
ひとこと |
| 1 |
[開発] タブを出す |
最初の1回だけ。初期設定では表示されていない |
| 2 |
[開発] の [マクロの記録] |
名前・ショートカットキー・保存先を決めて [OK] |
| 3 |
いつもの操作 |
余計なクリックをしない。間違えたら記録し直す |
| 4 |
[開発] の [記録の停止] |
止め忘れると、後の操作まで記録される |
| 5 |
[開発] の [マクロ] か、ショートカットキー |
呼び出して、結果を目で確かめる |
Windows では、記録の開始と停止を Alt+T+M+R でも行えます。同じキーの操作が、開始と停止の両方になります。
[開発] タブを出す
マクロの記録のボタンは、[開発] タブの [コード] グループにあります。このタブは、初期設定では表示されていません。
Windows の場合
- [ファイル] タブの [オプション] を開く。
- [リボンのユーザー設定] を選ぶ。
- [メイン タブ] の一覧で、[開発] のチェックボックスをオンにして [OK] を選ぶ。
Microsoft の「[開発] タブを表示する」のページの適用先は、Excel の Microsoft 365 版、2024、2021、2019、2016 です。
Mac の場合
[Excel] メニューの [環境設定] から [ツール バーとリボン] を開きます。[リボンのユーザー設定] の [メイン タブ] で [開発] にチェックを入れ、[保存] を選びます。これは、マクロの記録のページに書かれた手順です。
例 売上一覧を日付順に並べ、見出しを整え、金額に桁区切りを付ける
月初に、前の月の売上を貼り付けた一覧があるとします。貼り付けた直後は、日付がばらばらで、見出しは無地、金額にカンマもありません。
| 日付 |
取引先 |
商品 |
数量 |
金額 |
| 9/18 |
青葉商事 |
事務用箋 |
40 |
18000 |
| 9/3 |
北斗工業 |
コピー用紙 |
25 |
62500 |
| 9/25 |
青葉商事 |
ファイル |
120 |
36000 |
| 9/9 |
みなと運輸 |
付箋 |
60 |
14400 |
これを、毎月次の3つの作業で整えるとします。
- 日付の古い順に並べ替える。
- 見出しの行に塗りつぶしの色と罫線を付ける。
- 金額の列に桁区切りを付ける。
記録の前に決めておくこと
記録を始める前に、次の3点を確かめます。
- 練習用に、一覧のコピーを作る。
- 一覧の中のセル(見出しの「日付」など)を、先に選んでおく。
- 作業を1つのマクロに詰め込みすぎない。Microsoft のページは、長い作業を1つにするより、関連する複数の短いマクロに分けることを勧めています。
記録の設定
[開発] タブの [マクロの記録] を選ぶと、設定の画面が開きます。
| 項目 |
書くこと |
決まり |
| マクロ名 |
作業が分かる名前(例: 売上一覧の整形) |
先頭は文字。2文字目以降は文字・数字・アンダースコア(_)。スペースは使えない。セルの番地と同じ名前は避ける |
| ショートカットキー |
空いている文字を1つ |
大文字と小文字は区別されない。既定のショートカットと同じ文字にすると、そのブックを開いている間は既定のほうが使えなくなる |
| マクロの保存先 |
[このブック] か [個人用マクロ ブック] |
後で詳しく説明する |
| 説明 |
任意 |
マクロが増えたとき、何をするものか分かる |
ショートカットキーの注意は、Microsoft のページに例があります。Ctrl+Z を割り当てると、元に戻す機能が使えなくなります。慣れた操作を取り上げないよう、普段使わない文字を選びます。
操作して止める
[OK] を選ぶと記録が始まります。次の順に操作します。
- 一覧の中のセルを選び、[データ] タブの [並べ替え] で、「日付」を昇順にして [OK] を選ぶ。
- 見出しの行(A1 から E1)を選び、[ホーム] タブで塗りつぶしの色を付け、罫線を付ける。
- 金額の列(E 列)を選び、[ホーム] タブの [桁区切りスタイル] (カンマのボタン)を押す。
- [開発] タブの [記録の停止] を押す。
止めたら、効き目を試します。別のシートに先月の一覧を貼り、[開発] タブの [マクロ] から「売上一覧の整形」を選んで [実行] を押します。日付順に並び、見出しに色と罫線が付き、金額にカンマが入っていれば成功です。
記録したマクロを呼び出す3つの方法
Microsoft のページには、実行や割り当ての方法がいくつも書かれています。事務の作業では、次の3つで足ります。
| 方法 |
操作 |
向く場面 |
| マクロの一覧から |
[開発] の [マクロ]、または Alt+F8 で一覧を開き、名前を選んで [実行] |
数が少ないとき。名前で探せる |
| ショートカットキー |
記録のときに決めた Ctrl+文字 |
自分ひとりで毎月使うとき |
| ボタン |
図形を右クリックして [マクロの登録] を選ぶ |
ほかの人も使うシート。押す場所が目に見える |
ボタンは、ワークシートに四角形などの図形を置き、そこにマクロを登録して作ります。図形に「売上一覧を整える」と書いておけば、引き継いだ人にも何を押すか伝わります。クイック アクセス ツール バーに載せる方法も、Microsoft のページに載っています。
記録でできること、できないこと 毎月行数が変わるとき
記録が得意なのは、毎月まったく同じ手順で、同じ場所で行う作業です。逆に、手順は同じでも、対象の場所が変わる作業は苦手です。
記録が向く作業と、行数が変わると崩れる作業作成: 編集部 / 出典: Microsoft サポート「マクロ記録で作業を自動化する」
Microsoft のページに、範囲について、大事な注意が書かれています。範囲を選んで記録したマクロは、その範囲のセルにだけ作用するため、後から行を足しても新しい行は処理されません。
売上一覧の例で考えます。先月は30行を選んで並べ替えを記録しました。今月は45行あります。マクロを動かすと、並べ替えられるのは最初の30行だけの可能性があります。残りの15行は並んだ表の下に取り残され、日付の順がずれたまま気づかないおそれがあります。
行数が変わる仕事には、次のような対処があります。
- 書式なら、データの範囲ではなく列全体を選んで記録する(編集部の考えです。Microsoft のページには、この方法の記載はありません。手元で試して確かめてください)。
- 色づけだけなら、マクロを使わず [条件付き書式] に任せる。行が増えても、設定した範囲の広げ方しだいで追いかけます。くわしくはExcel条件付き書式の使い方で説明しています。
- 集計が目的なら、ピボットテーブルにまとめる。Excelのピボットテーブルの使い方を参照してください。
- どうしてもマクロにするなら、記録したコードを直して範囲を可変にする。ここからは VBA の書き方の話になり、この記事では扱いません。
相対参照で記録すると何が変わるか
通常の記録では、操作したセルの番地がそのまま残ります。「B3 から D5 に罫線を引く」と記録すれば、どのセルから動かしても B3 から D5 に罫線が付きます。
[開発] タブの [コード] グループにある [相対参照で記録] をオンにしてから記録を始めると、選んでいたセルを起点にした位置で記録されます。「今のセルの1つ下」「2つ右」といった動きです。同じ形の表が、シートの別の場所にあるときに向きます。
ただし、相対参照にしても、表の行数が変わる問題は解決しません。起点からの動きは同じ距離のままだからです。このボタンの位置と動きは、手元の画面で確かめてから使ってください。
保存の形式 .xlsx ではマクロが消える
マクロを記録したブックを、ふだんの .xlsx で保存すると、マクロは残りません。Microsoft の「ブックを保存する」のページには、マクロが有効なブック(.xlsm)を通常のブック(.xlsx)として保存すると、新しいファイルにマクロが保存されず、機能が失われる、という注意があります。
保存するときは、次の手順にします。
- [ファイル] の [名前を付けて保存] を選ぶ。
- 保存先と [ファイル名] を決める。
- [ファイルの種類] の一覧から、マクロ有効ブック(.xlsm)を選ぶ。
- [保存] を選ぶ。
上書き保存のときに形式を確かめる画面が出たら、.xlsx のまま進めないでください。マクロが入ったブックには、.xlsm の拡張子が付いていることを確かめる習慣が、いちばん確実です。
保存先を [このブック] にするか、[個人用マクロ ブック] にするか
記録の設定で選ぶ保存先は2通りです。
| 保存先 |
入る場所 |
使える範囲 |
向く用途 |
| このブック |
作業中のブックの中 |
そのブックだけ |
特定の帳票の整形。ブックと一緒に人へ渡せる |
| 個人用マクロ ブック |
自分のパソコンの Personal.xlsb |
自分の Excel で開く、どのブックでも |
自分用の道具。「見出しを整える」など |
個人用マクロ ブックを選ぶと、Personal.xlsb という非表示のブックが作られます(まだ無い場合)。Excel を起動するたびに自動で開き、そこに保存したマクロは [マクロ] の一覧に表示されます。Mac 版では、ファイル名が PERSONAL.XLSB です。
使い分けの目安は、渡すかどうかです。ほかの人に渡す作業なら [このブック] を選びます。個人用マクロ ブックは自分のパソコンにしか無いので、同僚の画面では動きません。
同僚に渡すとき ブロックの表示と [ブロック解除]
マクロ入りのブックを、メールやファイルサーバー、ダウンロードのリンクで同僚に渡すと、相手が開いた瞬間に、マクロがブロックされることがあります。
マクロの保存形式・保存先と、渡した先でブロックされる流れ作成: 編集部 / 出典: Microsoft サポート「ブックを保存する」ほか
なぜブロックされるのか
Microsoft は、VBA マクロが、マルウェアやランサムウェアを広げる一般的な方法だとして、インターネットから取得したファイルのマクロを既定でブロックしています。対象は Windows の Access、Excel、PowerPoint、Visio、Word などで、Excel の最新チャネルは2022年7月27日(バージョン2206)から段階的に始まりました。Mac、Android、iOS、Web 版の Office は、この変更の影響を受けないと書かれています。
ブロックの目印になるのが、Mark of the Web です。ブラウザーのダウンロードやメールの添付ファイルなど、インターネットや制限付きゾーンから来たファイルに、Windows が付けます。NTFS という形式で保存されたファイルにだけ付き、FAT32 形式のデバイスには付きません。
こうしたファイルを開くと、[セキュリティ リスク] と書かれた警告が出て、「ファイルのソースが信頼されていないため、Microsoft はマクロの実行をブロックしました」と表示されます。ここには [コンテンツの有効化] のボタンがありません。
ブロックを解くのは、中身を知っている人だけ
出どころが確かなファイルなら、次の手順でブロックを解きます。
- エクスプローラーで、ファイルを保存したフォルダーを開く。
- ファイルを右クリックして [プロパティ] を選ぶ。
- [全般] タブの下のほうにある [ブロック解除] のチェックボックスをオンにして [OK] を選ぶ。
[ブロック解除] が出ないときは、次のような場合です。ファイルがネットワーク共有にある場合や、管理者がマクロの使用を制限している場合です。後者では、「管理者がマクロの使用を制限しました」と表示されます。会社の方針で止めているので、個人では解けません。
社内で渡すなら、渡し方を決めておく
社内の共有フォルダーに置いたマクロ入りのブックが、全員の画面でブロックされることがあります。Microsoft の資料が例に挙げているのは、IP アドレスで共有フォルダーにつなぐ場合です。そのフォルダーが信頼済みサイトかローカル イントラネットのゾーンに入っていなければ、マクロはブロックされます。
解決の方法は、情報システムの担当者が決めます。Microsoft の資料には、会社で使える手段として次の3つが挙がっています。
- 共有の場所を、信頼済みサイトやローカル イントラネットのゾーンに入れる。
- ファイルを置く場所を、信頼できる場所にする。
- マクロにデジタル署名を付け、発行元を信頼する。
OneDrive や SharePoint にあるファイルは、[デスクトップ アプリで開く] で開くと、Mark of the Web が付かないと書かれています。ただし、これも会社の設定しだいです。
[コンテンツの有効化] と信頼できる場所
マクロが無効のまま開くと、警告バーが出ます。[コンテンツの有効化] を選び、続けて [セキュリティの警告] の画面で [はい] を選ぶと、そのファイルは信頼済みドキュメントになり、マクロが使えます。
Microsoft のページには、ファイルを表示したり編集したりするだけなら、マクロを有効にする必要はない、とあります。マクロの動作が確かで、必要なときだけ有効にします。
文書を1つずつ有効にする代わりに、決まったフォルダーを信頼できる場所にする方法もあります。この場所にあるファイルは、インターネットから来たものでも、マクロが有効なまま開きます。便利ですが、その場所に入れたファイルは検査されません。だれが書き込めるフォルダーかを、はっきりさせてから使います。ネットワーク上の場所を信頼できる場所にするのは、Microsoft の資料では勧められていません。
受け取ったマクロ付きファイルは、すぐに有効にしない
渡す側の話の裏返しとして、受け取る側にも気をつけたいことがあります。Microsoft のページは、次のような場面で警戒するよう書いています。
- マクロ付きファイルを受け取る予定がないのに、添付が届いた。送り主が知っている人や会社に見えても同じ。
- 知らない相手から、[コンテンツの有効化] を求められた。
- ダウンロードしたファイルで、アクティブ コンテンツを有効にするよう促すポップアップが出た。
- マクロを許可するよう求められ、その中身が分からない。この場合、Microsoft はファイルを削除することを勧めています。
「請求書の確認をお願いします」のような件名に、マクロ付きの Excel が添付されていても、開く前に送り主へ電話や別のメールで確かめます。マクロの安全性や会社の設定のくわしい話は、情報システムの受け持ちです。ここでは、迷ったら有効にしない、とだけ覚えておけば十分です。
Web 版や Mac 版でも記録できるのか
使う Excel によって、できることが違います。
| 版 |
マクロの記録 |
メモ |
| Windows のデスクトップ版 |
できる |
Microsoft 365、2024、2021、2019、2016 がページの適用先 |
| Mac のデスクトップ版 |
できる |
Microsoft 365、2024、2021 が適用先。[開発] タブの出し方と、停止のボタン名([記録終了])が違う |
| Web 版(ブラウザーで開く Excel) |
記録のページの適用先に載っていない |
Office スクリプトを使う |
Web 版は、マクロの記録のページの適用先に載っていません。Web 版で同じ作業を自動にしたいときは、Office スクリプトがあります。操作を記録するアクション レコーダーがあり、Excel の Web 版、Windows、Mac で使えると、Microsoft のページに書かれています。ただし、Microsoft 365 のライセンスに含まれていること、管理者が無効にしていないことが条件です。VBA のマクロとは別の仕組みなので、記録したマクロがそのまま動くわけではありません。
記録した中身を見るには
記録した操作は、裏で VBA というプログラムの言葉に変換されて残っています。Alt+F11 で Visual Basic Editor を開くと、中身を見られます。誤ってクリックした操作も記録されるため、余計な操作が混ざっていたら、記録し直すかコードを直す必要があります(Microsoft のページ)。
この記事では、コードの書き方は扱いません。見て確かめるだけにとどめます。
同僚に渡す前に確かめること
マクロ入りのブックを人に渡す日は、次の順に見ます。
次の月の作業の前には、先月の一覧のコピーで、記録したマクロを一度動かします。最後の行まで並び、書式が付いているかを目で見てから、本番のブックに使います。