(license)みなさん、こんにちは!タカハシ(@ntakahashi0505)です。Googleスプレッドシートに搭載されたマクロ記録の機能について初心者向けに解説をしています。スプレッドシートのマクロ機能で関数のインポートをする方法とマクロの削除の方法Googleスプレッドシートに搭載されたマクロ記録機能について、初心者向けにその使い方をお伝えしています。今回は作成した関数をマクロとして登録する方法と、マクロを削除する方法についてお伝えしていきます。tonari-it.com2018.05.04マクロのインポートをする方法と削除をする方法についてお伝えしました。今までスルーしてきちゃいましたが、マクロ記録の際に「絶対参照」と「相対参照」があったの覚えていますか?気になりますよね。今回は、スプレッドシートでのマクロ記録時の絶対参照と相対参照の違いについてお伝えしていきます。相対参照を使用したカーソル移動のマクロ相対参照を使用してマクロを記録する相対参照のカーソル移動マクロを実行する相対参照のマクロ記録で書き出されたコードgetCurrentCellメソッドで現在のセルを取得offsetメソッドで指定した行列移動したセル範囲を取得マクロ記録の絶対参照と相対参照の違いまとめ連載目次:【初心者向け】スプレッドシートのマクロ記録の活用法マクロ記録の絶対参照と相対参照さて、マクロ記録の使い方についてこれまでお伝えしてきましたが、以下の設定項目...気になっていましたよね...?「絶対参照を使用」と「相対参照を使用」のラジオボタンです。デフォルトでは絶対参照が選択されていますので、これまではそちらで進めて来たわけですが...この二つの設定で何がどう違うのか知りたいじゃないですか。いうことで、今回は「相対参照を使用」でこれまでと同じく、シート1のA1セルにカーソル移動するマクロの記録をして、そのコードがどのようなものかを確認してみたいと思います。相対参照を使用したカーソル移動のマクロ相対参照を使用してマクロを記録するでは、「相対参照を使用」でのマクロ記録を進めていきましょう。スプレッドシートのメニューから「ツール」→「マクロ」→「マクロ記録」と進めるのは、これまでと同じです。以下のダイアログが出たところで、「相対参照を使用」を選択しましょう。すると赤丸のところも「相対参照を使用しています」と出ますね。続いて、記録したい動作をそのまま操作していきます。次にA1セルを選択して、「保存」をクリックします。「新しいマクロの保存」ダイアログが表示されますので、今回は名前を「カーソル移動(相対参照)」として「保存」します。これでマクロ記録は完了です。相対参照のカーソル移動マクロを実行するでは、作成したカーソル移動のマクロを実行してみましょう。スプレッドシートのメニューから「ツール」→「マクロ」とたどると、先程作成した「カーソル移動(相対参照)」がメニューに表示されていますので、選択します。invalid.というエラーが表示されて実行することができません。Google翻訳で直訳してみると...範囲の座標または寸法が無効です。いうことでしょうか?相対参照のマクロ記録で書き出されたコードスプレッドシートのメニューから「ツール」→「マクロ」→「マクロの管理」から「カーソル移動(相対参照)」の「スクリプトの編集」で書き出されたコードを確認してみましょう。以下のようなコードが記録されていました。-1).activate();}まず、2,3行目ですがアクティブな(つまりバインドしている)スプレッドシートを取得し、変数spreadsheetに取得、その後「シート1」をアクティブシートとしてセットする、というところまでは、「絶対参照」で書き出されたコードと一緒ですね。次のところで以下のようなステートメントがあります。Spreadsheetオブジェクト.getCurrentCell()getCurrentCellメソッドは、スプレッドシートの現在のセルを取得するメソッドです。単一セルを返すというルールになっていて、セル範囲を選択しているときは左上のセルが取得されます。続いて、offsetメソッドですね。「相対」っぽいメソッドが出てきました。列オフセット)行オフセット、列オフセットは整数で指定し、対象のRangeオブジェクト(今回の場合は単一セルですね)から、指定した行オフセット、列オフセット分移動した位置のRangeオブジェクトを返します。今回書き出されたコードでは、13行分マイナスして、1列分マイナスした位置のセルをRangeオブジェクトとして取得せよ...ということになりますよね。そりゃ、「getCurrentCell」が13行より小さい行数の位置だったら、「そのセルは存在していない」となりますよね。エラーが出てしまうのです。マクロ記録の絶対参照と相対参照の違いつまり、マクロ記録の絶対参照と相対参照の違いは以下のようになります。絶対参照でマクロ記録をした場合は、現在のカーソル位置に限らず、マクロ記録時のセル位置をそのままコードとして記録します。一方で、相対参照でマクロ記録をした場合は、マクロ記録時のセルの移動距離でコードを記録するということになります。固定のセル範囲を操作したい場合は絶対参照を、実行時にカーソルがあるセルを基点にして操作したい場合には相対参照を使う、ということになりますね。まとめ以上、スプレッドシートのマクロ記録時の絶対参照と相対参照の違いについて解説をしました。切り替えについて慣れている方は、そのままズバリ理解できますよね。セル位置がかかわるマクロを記録したいときには、この違いを把握している必要がありますので、ぜひここでつかんじゃってくださいね。連載目次:【初心者向け】スプレッドシートのマクロ記録の活用法Googleスプレッドシートに満を持して搭載された「マクロ記録」。このシリーズでは、マクロ機能の概要と、その使い方、また書き出されたコードの編集や活用の仕方などを初心者向けにお送りしていきます。プランノーツ代表、コミュニティ「ノンプロ研」主宰。ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ★フォロー頂ければ嬉しいです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。Scriptのクラスを作ろう!」のシリーズをお送りしています。今回はGASでクラスに最も簡単なメソッドを追加する方法です。プロトタイプについても解説していますよ。Scriptでダイアログを使ったcsvファイルアップローダーを作成する方法をお伝えしています。今回はダイアログのボタンクリックでサーバー側の関数を呼び出すgoogle.scripot.runの使い方です。Scriptでファイル添付付きのメールを送信する方法をお伝えします。定期的なレポートの自動送付など活用できる場面の多いテクニックですので、覚えておいて損はないはずです。2016」に参加してきました。本イベントから垣間見えた私たちの『働く』環境で今起きていること、そして近々訪れるであろうこととは?についてレポートしています。過去に何の仕事にどれだけ時間をかけてきたか、振り返ったことはありますか?Googleカレンダーを上手に記録しておくことで、これまでの仕事の生産性を測定するための貴重なデータになります。AppsGoogleマイマップで自分のオリジナルのマップを作成する方法【基礎編】Googleマイマップで自分のオリジナルのマップを作成する方法をご紹介します。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Apps2PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Apps2PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。開発者プログラムとは、またどうして期限切れになったのか2020.02.222020.02.22ノンプロ研の福岡で初イベント「ノンプロ研無料体験@福岡」を開催しました!2020.02.14GASのV8ランタイムとRhinoランタイムのログと実行のUIの違いについて比較&解説2020.02.092020.02.09新構文をさっそく試そう!GASのプロジェクトをV8ランタイムに切り替える方法2020.02.082020.02.12Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。