スプレッドシートでのマクロの使い方について解説!
はじめに
Googleスプレッドシートにはマクロ機能があります。
Excelのようにユーザー操作を記録してマクロを作成することもできますし、VBAの代わりにGoogle Apps Scriptを使いマクロの編集もできます。
今回は、スプレッドシートでのマクロの使い方について解説していきます。
スプレッドシートでのマクロの使い方
マクロの記録
まずはマクロの記録から始めます。新規でスプレッドシートを開きます。
スプレッドシート名を「マクロ」と変更します。A1セルに「test」と入力しておきます。
スプレッドシートのマクロ機能は、ユーザーが行なった操作を「Apps Script」のスクリプトとして記録します。
スプレッドシート画面で[ツール]→[マクロ]→[マクロの記録]を選択しましょう。
スプレッドシートの下部に「新しいマクロを記録しています」というバーが現れ、ユーザー操作の記録が開始されます。
このバーでは操作記録の保存、記録のキャンセル、また絶対参照を使用するか相対参照を使用するかを選択できます。
絶対参照はマクロの適用時に記録時と同じセルを使用する設定で、相対参照はマクロの適用時に選択中のセルを使用する設定です。
今回は絶対参照のままで作成します。
「test」を太字にします。(この時バーに「操作1 書式スタイルを設定」と少しの間表示されます。)
フォントの色を変えます。(この時バーに「操作2 書式スタイルを設定」と少しの間表示されます。)
記録したい操作が終了したら、バーから「保存」を選択しましょう。
保存時にマクロの名前とショートカットキーを指定できます。マクロの名前を「マクロ1」、ショートカットキーは[command]+[option]+[Shift]+[1]とします。
保存します。「新しいマクロを保存しています」のメッセージが表示されます。
「マクロを保存しました」のメッセージが表示されたらOKです。
マクロの実行
A1セルに「sample」と入力し、書式設定をリセットします。
[ツール]→[マクロ]を選択すると、記録したマクロが一覧で確認できます。
先ほど作成した「マクロ1」を選択します。もしくは[command]+[option]+[Shift]+[1]で実行できます。
初めてマクロを実行する時は承認が必要です。以下のようなメッセージが表示されるので「続行」をクリックします。
紐付いているアカウントを選択します。
以下のように「このアプリは確認されていません」と警告が表示される場合があります。
「詳細を表示」をクリックすると、「記録されているマクロ(マクロ)(安全ではないページ)に移動」が表示されるのでクリックしましょう。
以下のような画面が表示されます。「許可」をクリックします。
これで承認は完了です。もう一度「マクロ1」を実行しましょう。
マクロが実行され、「sample」の書式設定が変更されました。
マクロの編集
[ツール]→[マクロ]→[マクロの管理]を選択します。
ここから保存済みのマクロの編集や削除ができます。
以下のように[︙]→[スクリプトを編集]を選択します。
これでGoogle Apps Scriptのエディタが開きました。コードを書き換えることでマクロを編集できます。
“spreadsheet.getRange(‘A1’)”→“spreadsheet.getRange(‘D2’)”とすると書式スタイルを変更するセルの番地がD2に、
“setFontWeight(‘bold’)”→“setFontStyle(‘italic’)”とすれば太字ではなく斜体に、
“setFontColor(‘#00ff00’)”→“setFontColor(‘#ff9900’)”とすればフォントの色が黄緑からオレンジに変更できます。
ここまで書き換えたら[command]+[s]で保存します。
スプレッドシートに戻ります。D2セルに「edit」と入力し、カーソルをA2セルに置きます。[command]+[option]+[Shift]+[1]でマクロ1を実行します。
先ほど書き換えた通りD2セルの「edit」が斜体になり、フォントの色がオレンジに変更されました。これでマクロの編集まで完了です。
Google Apps Scriptを使われている方向け裏技
まず適当なマクロを記録します。
記録したマクロの中身を全消し※して自分の好きなプログラム(スクリプト)を書く、変更を保存する、スプレッドシートの[ツール]→[マクロ]からマクロを実行で、Google Apps Scriptで書いたプログラムをスプレッドシート画面から実行することができます。
もちろんショートカットキーからも呼び出せるので非常に便利です。
※ 自動生成された関数名は変更しないようにしましょう。スプレッドシートから呼び出せなくなります。
おわりに
今回はスプレッドシートでのマクロの使い方について紹介してきました。マクロ機能だけでも十二分に便利なのですが、前述の通りGoogle Apps Scriptとマクロ機能の合わせ技でさらにスプレッドシートが便利に扱えるようになります。
また、業務に直結しやすい言語なので、Google Apps Scriptを覚えておいて損はありません。気になった方はそちらもぜひ学習してみてください!