訪問して頂きありがとうございます。まさふくろーです。
この記事では、チェックボックスを使ってラジオボタンのような動きにする方法をご紹介します。
目次
チェックボックスを使ってラジオボタンのような動きにする
使用するシート名
「アンケート」シート
使用するステートメント
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 スクリプトを作成
「ツール」をクリックします。
「スクリプトエディタ」を選択します。
すると、スクリプトエディタが起動します。
スクリプトを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
function radioButton() { let spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); let sheet = spreadsheet.getSheetByName('アンケート'); let ActiveCell = sheet.getActiveCell(); let range = sheet.getRange('B2:B6'); range.setValue(false); let row =ActiveCell.getRow(); let col =ActiveCell.getColumn(); if (col == 2) { if (row >= 2 && row <= 6){ ActiveCell.setValue(true); } } } |
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 トリガーを作成
「スクリプトエディタ」にある時計アイコンをクリックします。
画面右下の「トリガーを追加」をクリックします。
①イベントの種類を選択「変更時」を選択⇒②「保存」をクリックします。
このように設定することで、チェックボックスにチェックを付けたり、解除したりするタイミングでスクリプトが実行されるようになります。
今回ご紹介した記事では、チェックボックスを使ってラジオボタンのような動きにはなりますが、レスポンスがあまりよくなく、ワンテンポ遅れる動きになります。ご了承ください。
関連記事
シートにチェックボックスを作成する
【スプレッドシート】シートにチェックボックスを作成するには?
最後まで読んでいただき、ありがとうございました!