GAS PR

[GAS]セル範囲をアクティブにしたり現在のセルにする方法 -Rangeクラス-

記事内に商品プロモーションを含む場合があります

Google Apps Script (GAS) でセル範囲をアクティブにしたり現在のセルにする方法を説明します。

Rangeクラスのメソッドを利用した手順について説明します。

Google Apps Scriptの基本的な使い方については下記をご覧ください。

GASによるスプレッドシート操作の概要

GASでスプレッドシートを操作するための「SpreadSheetサービス」は、主に下記のクラスで構成されています。

クラス説明
SpreadSheetAppSpreadSheetサービスの親クラス
Spreadsheetスプレッドシートを操作するクラス
Sheetシートを操作するクラス
Rangeセル範囲を操作するクラス

それぞれ下記のような位置付けになります。

「SpreadSheetApp」→「SpreadSheet」→「Sheet」→「Range」という順の階層構造になっています。操作対象に応じて、下の階層にたどってオブジェクトを取得して利用します。

このページでは、上記の中のRangeクラスの下記のメソッドについて説明します。

メソッド戻り値説明
activate()Rangeこのセル範囲をアクティブにする
activateAsCurrentCell()Rangeこのセルを現在のセルにする

このセル範囲をアクティブにする

このセル範囲をアクティブにするメソッドを説明します。

このセル範囲をアクティブにする:activate()

このセル範囲をアクティブにする方法です。

1つのセルでも複数のセルでもアクティブにできます。

下記のように実行します。

下記のファイルに対して実行してみます。

下記の結果になります。指定したC2:E5がアクティブになります。

このセルを現在のセルにする:activateAsCurrentCell()

このセルを現在のセルにする方法です。”アクティブ”ではなく”現在のセル”にするという動作です。

1つのセルを指定します。複数のセルを指定することはできません。

下記のように実行します。

下記のファイルに対して実行してみます。

下記の結果になります。指定したC2が現在のセルになります。

上記の場合は、アクティブにもなっていますが、次に下記の例で試してみます。
B2が現在のセルで、B2:D4がアクティブのファイルです。

実行すると下記の結果になります。現在のセルはC2に変わりますが、アクティブなセル範囲は変わりません。

このように、セルを”アクティブ”にするのではなく、”現在のセル”にする動作になる、ということに注意しましょう。最初の例のように、結果としてアクティブになるケースもあります。

なお、一つのセルではなく複数セルを指定した場合は、下記のエラーになります。

まとめ

Google Apps Script (GAS) でセル範囲をアクティブにしたり現在のセルにする方法を説明しました。

GASは無料で利用できてとても便利なツールです。

Googleスプレッドシート等のGoogleアプリケーションを利用されている方は、GASを習得することで作業を大きく効率化できます

GASの基本構文を知りたい方は、下記もご覧ください。