Excel

【コード書かずに自動化】誰でもできる”マクロの記録”を使いこなせ!

みなさまおつかれさまです。

今回はコードを一切書かずにスプレッドシートやExcelで自動化できる機能「マクロの記録」について解説します。やり方も非常に簡単で、誰でもできるので特にノンプログラマーのみなさんはぜひ参考にしてみてください!

マクロの記録とは

マクロ記録とは、スプレッドシートで操作した内容を自動で記録してくれる機能です。

マクロの記録を開始すると、終了するまでの一連の操作を「マクロ」としてプログラミングコードで記録します。

マクロはスプレッドシートのメニュー操作などから簡単に再実行することができますので、作業の自動化を、自分でコードを書くことなく実現することができるという大きなメリットがあります。

また、記録したマクロはGoogle Apps Scriptのコードとして記録されているので、スクリプトエディタから開いて追加や修正を加えることもできるため、かなり応用力の高い機能と言えるでしょう。

プログラミングコードは書けなくても作業を自動化できるこの機能はノンプログラマーにとっては活用するほかありません…!!

マクロの記録を活用することで、データの並べ替えや抽出などの繰り返し同じ操作をする際に作業効率を大幅に上げることが可能になります。

実際に使ってみる

では実際に使ってみましょう。
今回はGoogleスプレッドシートで使ってみます。

例として、『シートのA1セルを指定して”こんにちは”と入力する』というマクロを記録してみます。

まずはスプレッドシートの「ツール」→「マクロ」→「◎マクロを記録」の順にクリック。

すると以下のような表示が出るはずです。

この画面が出たら記録開始となり、以降スプレッドシートに行った操作がすべてマクロとして記録されていきます。

ちなみに下に記載されている「絶対参照を使用」「相対参照を使用」はマクロの記録の仕方のことです。

  • 絶対参照を使用…セルの番地を指定したマクロ
  • 相対参照を使用…セルの番地は柔軟に対応できるマクロ

実行したいセルを固定したいときには絶対参照に、それ以外の場合は相対参照で、という形で使います。

絶対参照を使用のまま、A1セルを選択し「こんにちは」と入力→Enterを押します。
すると…

これで操作が記録されました。
保存をクリックします。そうすると名前とショートカットの設定を求められますので、お好きなものを入力。

これで一連のマクロの記録は完了です。

早速使ってみましょう。と言いたいところなのですが最後に一連のマクロの実行に対してユーザーの承認が必要になります。このあたりはGASについてご紹介したときと同じですね。

https://gyoumu-kaizen.blog/%e6%a5%ad%e5%8b%99%e6%94%b9%e5%96%84%e3%81%ae%e3%82%ab%e3%82%ae%e3%81%af-gas-%e3%81%ab%e3%81%82%e3%82%8a%ef%bc%81/

先程設定したショートカットを押すと、「承認が必要」というタイトルのもと許可を求められますのでこれを”続行”。

その後アカウントを求められたり許可を求められたりしますのでこれをクリックしてやり過ごします。
これでようやく準備完了です。

ショートカットを押していただくと…

「スプリクトを実行しています」のあと実行されましたね。

これで「A1セルに自動で”こんにちは”と記載するマクロ」が完成しました。

ちなみにマクロを実行させる方法にはショートカットを使用する以外にも、

  • 「ツール」→「マクロ」→「記録したマクロ」を選択

上記の方法でシートに記録されているものはすべて実行することが可能です。

記録されたマクロを確認、修正する

記録されたマクロはそのコードを確認することができますし、自分で修正することも可能です。

「ツール」→「スクリプトエディタ」をクリックすると、

一連の操作がGoogleAppsScriptで記録されているのを実際に確認することができます。

この機能が本当に大変便利でして、このエディタから何ができるかというと

  • 自動記録されたものを追加修正することで自分がやりたい自動化をすることができる。
  • 実際にコードを書く際に、マクロの記録を利用して自分がやりたい操作がどういったコードなのか確認することができる

こういったことが可能になります!

この機能はプログラミング未経験者にとっては大変力強い武器でして、書き方がわからないときの参照先として非常に使いやすく、自動化へのハードルを大きく下げてくれるツールになっているのです!

GoogleAppsScript(GAS)については以下の記事でお話しているのでぜひご確認くださいませ。

https://gyoumu-kaizen.blog/%e6%a5%ad%e5%8b%99%e6%94%b9%e5%96%84%e3%81%ae%e3%82%ab%e3%82%ae%e3%81%af-gas-%e3%81%ab%e3%81%82%e3%82%8a%ef%bc%81/

応用編 〜GoogleAppsScriptとの組み合わせが最強〜

ここからは応用編として、ある程度GoogleAppsScriptを使っている人に向けての裏技をご紹介します。

それは『GASで書いたプログラムをマクロから実行する』です。

これまでGASで記述したプログラムを実行するにはスクリプトをどこかに割り当てるか、トリガーを利用するか、エディタから実行するかが主でしたが、マクロの記録を活用することでスプレッドシート画面上で実行することができます

STEP1:とりあえず適当にマクロを記録する

とりあえず何でもいいのでマクロを記録します。マクロの内容は何でも構いません。
ここでは先程の”こんにちはマクロ”を使います。

作成したマクロの、スクリプトエディタを開きます。

STEP2:スクリプトエディタからマクロを書き換える

そしたらmyFunctionは残したまま中身を消します。

ここに、実行したいスクリプトを書くのです!

今回はシート名を取得してセルに入力するスクリプトを記述してみます。

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var sheetname = sheet.getName();
  sheet.getCurrentCell().activate().setValue(sheetname);
};

これを先程のmyFunctionに記述して…

これを保存して完了です。一応このままではこのスクリプトを実行するマクロの名前が「こんにちは」のままですのであとはマクロの名前を修正すれば完了です。

こうするとマクロとしてスクリプトが残るため、スプレッドシートの画面からスクリプトを実行することが可能になります。

STEP3:スプレッドシートからマクロを実行

ではスプレッドシートに戻りましょう。

マクロから内容が残っていることが確認できます。

またこのやり方のすごいのが、マクロで設定したショートカットも使えるため、自分が自動化したい内容のショートカットを割り当てることも可能になります!

これは普段からGASを使っていた人も、今回のマクロ機能の便利さを体験いただけたのではないでしょうか。

最後に

今回はマクロの記録について解説してみました。

ノンプログラマーにとっての大変強い味方になるツールとして活躍してくれる機能かと思いますし、すでにGASに馴染んでいる方でもかなり便利な機能ので、ぜひみなさんマクロの記録を活用して、仕事は一つでも多く自動化できるようにしましょう!