【GAS】チェックボックスを使ってラジオボタンのような動きにするには?

訪問して頂きありがとうございます。まさふくろーです。

この記事では、チェックボックスを使ってラジオボタンのような動きにする方法をご紹介します。

チェックボックスを使ってラジオボタンのような動きにする

使用するシート名

「アンケート」シート

 

使用するステートメント

ifステートメント

参考 ifステートメントボタンをクリックしたときにスクリプトを実行する

使用するメソッド

getActiveSpreadsheetメソッド

SpreadsheetApp.getActiveSpreadsheet()

説明
現在アクティブなSpreadsheetオブジェクトを返します。

getSheetByNameメソッド

Spreadsheetオブジェクト.getSheetByName(シート名)

説明
指定したシート名のSheetオブジェクトを返します。

getRangeメソッド

Sheetオブジェクト.getRange(a1Notation)

説明
セル範囲を取得します。
指定項目 必須 説明
a1Notation 単一セルまたはセル範囲(複数セル)を指定します。

setValueメソッド

getRangeメソッドで取得したセル範囲.setValue(true/false)

説明
getRangeメソッドで取得したセル範囲に値を設定します。
指定項目 必須 説明
true/false チェックボックスにチェックを付ける場合「true」、解除する場合「false」を設定。

getActiveCellメソッド

Sheetオブジェクト.getActiveCell()

説明
選択されているセルの Rangeオブジェクトを返します。

getColumnメソッド

Rangeオブジェクト.getColumn()

説明
Rangeオブジェクトで指定した範囲の開始列を返します。

getRowメソッド

Rangeオブジェクト.getRow()

説明
Rangeオブジェクトで指定した範囲の開始行を返します。

手順

おおまかな流れ

Step.1
スクリプトを作成

Step.2
トリガーを作成

詳細

Step.1 スクリプトを作成

「ツール」をクリックします。

 

「スクリプトエディタ」を選択します。

 

すると、スクリプトエディタが起動します。

 

スクリプトを記述します。

 

1 「radioButton」関数を作成。
3 現在アクティブなスプレッドシートオブジェクトを取得し、変数「spreadsheet」に格納
4 「アンケート」シートオブジェクトを、変数「sheet」に格納。
6 選択されているセルの Rangeオブジェクトを取得し、変数「ActiveCell」に格納。
8 「B2」~「B6」セルのセル範囲を取得し、変数「range」に格納。
10 8行目で取得したセル範囲にあるチェックボックスのチェックをすべて解除します。
12 選択されているセルの行番号を取得し、変数「row」に格納。
13 選択されているセルの列番号を取得し、変数「col」に格納。
15 13行目で取得した列番号が「2」(チェックボックスがある列)の場合、以下処理を行う。
17 12行目で取得した行番号が2行目~6行目(チェックボックスのある行)である場合、以下処理を行う。
18 選択されているセルのチェックボックスにチェックを付ける。
Step.2 トリガーを作成

「スクリプトエディタ」にある時計アイコンをクリックします。

 

画面右下の「トリガーを追加」をクリックします。

 

①イベントの種類を選択「変更時」を選択⇒②「保存」をクリックします。

このように設定することで、チェックボックスにチェックを付けたり、解除したりするタイミングでスクリプトが実行されるようになります。

 

レスポンスについて

今回ご紹介した記事では、チェックボックスを使ってラジオボタンのような動きにはなりますが、レスポンスがあまりよくなく、ワンテンポ遅れる動きになります。ご了承ください。

関連記事

シートにチェックボックスを作成する

【スプレッドシート】シートにチェックボックスを作成するには?

最後まで読んでいただき、ありがとうございました!