→「作業者のエクセル操作を記録し、マクロのプログラムに変換してくれる機能」
日本語を入力するだけで英語に翻訳してくれるアプリのように、エクセル操作を行うだけでコードを作成してくれるのです。
当然メリットだけではなく、デメリットもあります。具体的には以下です。
メリット |
・知識がなくてもマクロを作成できる ・数分の作業なら十分に自動化可能(報告書の体裁修正や資料の印刷など) |
デメリット | ・複雑な処理ができない(最終行の自動調整、条件分岐) ・数十分を超える作業の自動化は難しい ・自動記録されたコードは分かりにくい |
上記のとおり、複雑な操作はマクロのコードに自動変換してくれません。
翻訳ソフトが日本語を完璧な英語にしてくれないのと同じように、マクロの自動記録もエクセル操作を完璧に再現してくれるとは限らないのです。
ただ、複雑な処理はマクロ化してくれないとはいっても、自動記録を使えば簡単なマクロを作成することが可能です。
この記事ではマクロの自動記録について以下のことについて紹介していきます。
・「マクロの自動記録」の使い方|初心者でも使いこなせるようになる
・「マクロの自動記録」のメリットとデメリット
目次
マクロの自動記録について動画で解説
本記事でお伝えしている内容は上記の動画で解説をしています。
動画で理解を深めたい人はぜひ上の動画をご覧ください。
動画が苦手な人は以下で文章や画像でお伝えしていますので、そちらを読んでみてください。
マクロの自動記録とは? 入門者にもわかりやすく説明
「マクロの自動記録」とは、エクセル操作を自動化するための機能の一つです。
イメージとしては翻訳アプリに日本語を入れたら英語が出力されるように、マクロの自動記録を使ってエクセル操作を行うと、コードがマクロのコードが自動作成されます。
翻訳アプリに日本語の文章を入れる
→英語の文章が自動出力される
「マクロの自動記録」でエクセル操作を行う
→その操作を行うコードが自動作成される
たとえば、以下は「マクロの自動記録」で作成したマクロをボタン登録し、実行した例です。
「マクロ自動記録」の事例|テストの点数で並び替えて色を変える
ここで、エクセル上のボタンを押すと事前に作成しておいたマクロを実行され、自動で以下のように処理が行われます。
マクロが登録されたボタンを押すと、以下のように処理が実行される。
このようにマクロの自動記録を使えば、上記のような作業をボタン一つで終わらせることができるのです。
しかも「マクロの自動記録」であれば、難しいコードを書く必要はありません。
ただし、上記の作業をボタン一つでやるためには、以下の作業を行いマクロを作成・ボタン登録しておく必要になります。
2. ボタンを設置し、作成したマクロをボタンに登録しておく
それではマクロの自動記録に関して、作成方法やボタンへの登録方法も合わせて紹介していきます。
WindowsとMacでの「マクロの自動記録」の使い方は違うのか?
本格的に「マクロの自動記録」を学ぶ前に注意があります。
それはWindowとMacでの違いです。
WindowsでもMacでも「マクロの自動記録」を使うことは可能です。ただし、設定方法に少し違いがあります。
この記事ではWindows PCでのマクロの自動記録の使い方について解説します。
Macの場合は、こちらで、設定方法から使い方をご覧いただけます。
「マクロの自動記録」のやり方を7ステップで解説
ステップ2|エクセルの「開発」タブを表示させる
ステップ3|マクロの自動記録を開始する
ステップ4|エクセル作業を行う
ステップ5|停止ボタンで「マクロの自動記録」を終了させる
ステップ6|自動記録で作成したマクロの保存場所を確認する
ステップ7|マクロの編集・保存・実行
「マクロの自動記録」は、上記のステップにしたがって操作を行うことで誰でも使えるようになります。
それでは一つずつ解説していきます。
ステップ1|エクセルを立ち上げる
デスクトップのエクセルアイコンをクリックして、エクセルを立ち上げます。
このときエクセルのリボンに「開発」ボタンがすでに表示されているかどうか確認します。
→「ステップ3|マクロの自動記録を開始する」
エクセルの「開発」ボタンがない場合
→ステップ2|エクセルの「開発」タブを表示させる
ステップ2|エクセルの「開発」タブを表示させる
エクセルリボンに「開発」ボタンを表示させるには、以下の手順で操作を行います。
手順2|「オプション」をクリック
手順3|「リボンのユーザー設定」をクリック
手順4|「開発」にチェックを入れる
手順5|「OK」をクリック
手順4|開発にチェックを入れる
手順5|OKをクリック
手順1-5まで操作を終えると、「開発」ボタンが表示されます。
エクセル2010や2013以降|「開発」タブの追加方法
上記とほぼ同じです。
「①ファイル」→「②オプション」→「③リボンのユーザー設定」まで進んで、コマンドの選択(C)で「メイン タブ」から「④開発」をチェックを入れて、「⑤OK」をクリック。
エクセル2007|「開発」タブの追加方法
「Microsoft Office ボタン」→「Excelのオプション」→「基本設定」→「[開発]タブをリボンに表示する」
ステップ3|マクロの自動記録を開始する
「マクロの自動記録」を開始します。以下の操作を行います。
手順2|「マクロの記録」をクリック
手順3|「マクロ名」を変更(必要であれば)
手順4|「OK」をクリック
以下で手順ごとに操作を説明していきます。
手順2|「マクロの記録」をクリック
手順4|「OK」をクリック
手順3の「マクロ名」は「Macro+数字」が初期名称として入力されています。
必要に応じて、マクロ名は変更可能です。
ステップ4|エクセル作業を行う
マクロの自動記録によって記録したい操作を行います。
ここでは実務的な例として、冒頭で紹介した処理(以下の画像)をマクロに記録させます。
マクロ実行前は以下
マクロ実行後は以下
この処理を操作レベルに分解すると、以下のステップが必要になります。
記録1|C列「テスト1」の点数が高い順に並び替え
記録2|D列「順位」に上から1~10を入力
記録3|D列「順位」の1~3のセルを黄色に塗りつぶし
記録4|A列「ID」を昇順で並び替え(元に戻す)
少し長いですが、このくらいの操作量を記録させないことには実務の効率化はできません。
並び替えの操作などは既に理解している人も多いため、やや冗長(じょうちょう)ですが、一つずつ解説していきます。
以下の画像が操作を始める前のエクセルです。
上記のエクセルに以下の操作を行っていきます。
記録1|C列「テスト1」の点数が高い順に並び替え
操作2|「データ」をクリック
操作3|「並び替え」をクリック
操作4|「テスト1」を選択
操作5|「セルの値」を選択
操作6|「大きい順」を選択
操作7|「OK」を選択
ここで「OK」を押すと並び替えが実行され、以下のようになります。
記録2|D列「順位」に上から1~10を入力
操作2|セルD1とセルD2の両方を選択
操作3|セルD2の右下にカーソルを合わせてマウスをダブルクリック
操作3|セルD2の右下にカーソルを合わせてマウスをダブルクリック
操作3で、セルD2の右下にカーソルを合わせると、マウスのカーソルが「+」に変わるので、そのタイミングでマウスをダブルクリックする。
そうすると、以下のように「3」~「10」が出力される。
記録3|D列「順位」の1~3のセルを黄色に塗りつぶし
操作2|「ホーム」をクリック
操作3|選択したセルを黄色に塗りつぶし
操作3の塗りつぶしを行うと、以下のようにセルが黄色になります。
記録4|A列「ID」を昇順で並び替え(元に戻す)
操作2|「データ」をクリック
操作3|「並び替え」をクリック
操作4|「ID」を選択
操作5|「セルの値」を選択
操作6|「昇順」を選択
操作7|「OK」を選択
ここで「OK」を押すと並び替えが実行され、以下のようになります。
ステップ5|停止ボタンで「マクロの自動記録」を終了させる
操作2|「記録終了」をクリック
エクセルの操作が終了したら、上記の操作で「記録終了」を押します。
これで「マクロの自動記録」を終了させることができます。
ステップ6|自動記録で作成したマクロの保存場所を確認する
自動記録で作成したマクロを確認します。
保存先は、以下の手順で行います。
操作1|「開発」をクリック
操作2|「マクロ」をクリック
操作3|「Macro1」を選択(自動記録で作成したマクロ名を選択)
操作4|「編集(E)」をクリック
操作5|「Module」をクリック
一つずつ解説していきます。
操作1|「開発」をクリック
操作2|「マクロ」をクリック
操作2で「マクロ」をクリックすると、以下のように「マクロ」のダイアログが出現しますので、操作3と操作4を行います。
操作4|「編集(E)」をクリック
操作4で「編集(E)」をクリックすると、以下のような画面が出てきます。
ここで、標準モジュールの直下にある「Module1」を選択すると、自動記録で作成したコード(Macro1)を見ることができます。
これだけのコードをエクセルが自動で作成してくれるため、初心者でも実務で使えるレベルのマクロを作成可能です。
自動記録で作成したマクロがModule1に存在しない場合
なお、自動記録で作成したマクロがModule1に存在しない場合もあります。
そのときは、標準モジュールにある「Module+数字」をクリックすると、どこかで保存されています。
補足ステップ|マクロの編集
ここでは、「テストの点数が高い順に1位から3位までセルを黄色で塗る」というマクロを作成しました。
しかし、このマクロに追加の処理を入れ込みたい場合があります。
たとえば、80点以上の人に「合格」と出力するという処理です。
このように追加でマクロの編集を行う場合、私は以下の方法でマクロを編集します。
方法2|プログラムを手書きで追記する
方法1|コードをコピペする
時間短縮のため、コードをコピペすることは多いです。
似たような処理を行うコードを使いまわすことで、簡単にプログラム編集可能です。
ウェブには使えるコードが多く公開されているので、私もよく参考にさせていただいています。
ウェブサイトで公開されているコードは、以下のように標準モジュールにコピペして使用します。
このように作成したマクロを編集しながら、完成させます。
方法2|プログラムを手書きで追記する
ただし、コピペしたコードがそのまま使えることはほとんどありません。
その理由は以下の記事で詳しく解説しています。
そのため、自動記録で作成したりコピペしたりしたマクロは手書きで編集を加える必要が生じます。
イメージとしては、大枠はコピペや自動記録で作成して、微調整を編集作業で行います。
プログラムを手書き書けるようになるためのヒントについては、この記事の最後で紹介しています。
ステップ7|マクロの保存・実行
自動記録で作成したマクロは保存してから実行します。
せっかく作成したマクロが消えないように保存してからマクロ実行するのが基本です。
この「保存・実行」ステップは以下の記事で紹介をしています。
これで動画確認が完了すれば、自動記録でのマクロ作成が完了します。
ボタンを設置しマクロ設定する方法
自動記録で作成したマクロは、以下のようにボタンをクリックして実行させることが可能です。
エクセルにボタンを設置する方法からボタンにマクロを登録して実行するまでの方法は以下の動画で解説しています。
もし動画が苦手な人は以下で文章で記載をしていますので、そのまま読んでいってください。
以下の操作でボタンにマクロを設定することが可能です。
なお、ここでは、マクロ名を「Module1」ではなく「Sample1」で説明しています。
手順2|エクセルの「挿入」をクリック
手順3|「ボタン」をクリック
手順4|エクセルにボタンを設置
手順5|ボタンに登録したいマクロを選択
手順6|「OK」をクリック
一つずつ解説していきます。
手順2|エクセルの「挿入」をクリック
手順3|「ボタン」をクリック
手順6|「OK」をクリック
ここまでの手順を行うと、以下のようにボタン(マクロ登録済)が設置されます。
ここではボタンの名前が「並び替え」になっていますが、ボタンの名前変更などは上記の動画で解説していますので、そちらをご覧ください。
さてボタンを押すと、以下のようにマクロを実行することができます。
自動記録で作成したマクロを削除する
自動記録で作成したマクロを削除したい場合があります。
そのようなときは、以下の方法で削除できます。
操作1|「Module1」を右クリック
操作2|「Macro1の解放(R)」をクリック
操作3|エクスポートしますか?には、「いいえ」をクリック
自動記録で作成したマクロの場合、エクスポートする必要はほぼありません。
そのため、エクスポートは「いいえ」で問題ありません。
作成したマクロをショートカットキーとして使う方法
自動記録などで作成したマクロはショートカットキーに割り当てることも可能です。
たとえば、私はエクセル上で [Ctrl] + [Shift] + [y] を同時に押すと、選択しているセルを黄色に塗りつぶすマクロを設定しています。
この方法については、以下の動画で設定方法を紹介しています。
動画が苦手な人は以下の記事を読んでも勉強することが可能です。
エクセルマクロを詳しく知りたい人へ
エクセルマクロVBAを使いこなせるようになりたい人は、以下の記事で勉強することができます。
「マクロの自動記録」の決定的なデメリットとは?
マクロの自動記録には限界があります。詳しくは以下の記事で解説しています。
この記事では簡単に触れておきます。
デメリット1|「繰り返し」ができない
デメリット2|「もし~なら、××する」(条件分岐)ができない
デメリット3|複雑な処理ができない
限界1|「繰り返し」作業ができない
マクロの自動記録では「行ごとに処理を行う」というコードは作成されません。
たとえば、「1行目から100行目まで1行ずつ確認し、値が10を下回っていたら、セルを黄色にする」という処理を作成できないのです。
そのため、「行ごとに処理を行う」マクロを作りたいなら自分でマクロを編集しなくてはならないのです。
他にも、「各シートごとに繰り返し処理をする」コードは自動記録では作成されません。
このような繰り返しのコードは実務で使うマクロには必須ですが、自動記録ではこれを作成できないのです。
これがマクロの自動記録の致命的な欠陥の一つです。
限界2|「条件分岐」ができない
自動記録では、「もし80より大きいなら、評価A。もし80未満なら、評価B」というコードは作成されません。
「もし~なら、××する」条件分岐行ごとに、処理するマクロを作りたいなら、if then文や作成する必要があります。
このような条件分岐のコードもまた実務のマクロには必須ですが、自動記録では作成できないのです。
これもマクロの自動記録の大きなデメリットの一つです。
限界3|複雑な処理ができない
マクロの自動記録では「複雑な処理を行う」コードを作成できません。
たとえば、「Outlookを操作して自動でメールを送る」や「所定のフォルダにあるファイルを全て処理する」ようなコードは自動作成されないのです。
そのため、複雑な処理を行うマクロを作りたいなら自分でマクロを編集しなくてはならないのです。
エクセルマクロでウェブ操作をする
このように実務の効率化を図ることを目的とした場合、「マクロの自動記録では物足りない」と言わざるを得ないのです。
エクセルマクロを編集アレンジできるようになりたいなら
この記事では、「マクロの自動記録」の使い方について紹介しました。
ここで紹介した手順にしたがえば簡単なマクロを作成可能です。
しかしここで紹介した内容では実務で使えるレベルにはなれません。
たとえば、「複数のエクセルファイルで処理をしたい」や「日付毎に条件を変えたい」というレベルの処理ができないと実務では使い物になれないのです。
このような要望を満たすには、マクロを勉強して自力でマクロを編集できるようになる必要があります。
もし、自力でマクロを編集できるようになれば、今より仕事の効率はグッと上がります。
実際、私も自力でマクロを書けるようになってからは、仕事の生産性が一気に上がりました。
他の人が30分~1時間かけて行う仕事が、ボタン一つで終わらせることができるようになったのです。
その結果、周囲からの信頼も増し、仕事で高い評価を得られるようになりました。
詳しくは以下で紹介しています。
まずは無料でマクロを勉強してみる
ここで多くの人がやりがちなミスがウェブや書籍で独学で勉強しようとすることです。
ウェブや書籍を使えば、マクロを習得できると考えているのです。
しかし、仕事で使えるマクロを習得したいなら、仕事で使える部分に特化した教材で学ぶことをお勧めします。
なぜなら、ウェブや書籍には仕事に関係しない部分まで提供していることが多いからです。
例えば、マクロ初心者なのに配列を学ぼうとする人がいます。実は配列なしでも仕事で使えるマクロを書くことは可能です。
しかし、マクロ初心者ほど「全ての知識が必要だ」と考えて、無駄な学習に時間を使ってしまうのです。
詳しくは、こちらの記事で紹介しています。
そこで、私がお勧めするのは仕事に直結するマクロ教材です。とくにお勧めするのは、こちらの無料オンライン動画です。
なぜなら、仕事に直結する部分に絞って、エクセルマクロを学ぶことができるからです。
マクロの作り方・考え方から解説しているので、教材をしっかり学べばここで紹介したマクロをゼロから書けるようになります。
マクロ初心者が、仕事に直結したいマクロを学ぶなら、まずはこちらの無料オンライン動画を試すのがいいです。
興味がある人は、まずは無料でエクセルマクロの勉強を始めてみてください。
もっと学びたいと感じたら、さらに深く勉強をしてみることをお勧めします。