【GAS】チェックボックスを一気にすべてON/OFFする方法(Gスプレッドシート)

チェックボックス

GAS応用の一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

【GAS】半角文字列を全角文字列に変換する方法(ExcelのJIS関数) (Gスプレッドシート)
コピペで半角文字列を全角文字列に変換できる関数が作れます。

今回は、とっても価値の高い方法をお伝えします。


これを知ることであなたは、

  • GASからチェックボックスを操作できるようになります。
  • 複数のチェックボックスを一気に変更することができます。

なので、サクッとマスターして

と答えてあげてください。

 

動画はこちら

【GAS基礎講座 21 】①チェックボックスを一気にON/OFFする方法

 

シートはこちら


※クリックするとシートが開きます。

 

スクリプト

function checkbox( check ){
  const ss = SpreadsheetApp.getActiveSpreadsheet()
  const ws = ss.getSheetByName("chekbox"  )
  ws.getRange(2,9,ws.getLastRow()-1).setValue(check)
  


}

function CheckAll(){
  checkbox(true)
}


function UnCheckAll(){
  checkbox(false)
}

 

ポイント

getRange(2,9,ws.getLastRow()-1)でチェックボックスの範囲を取得し

ws.getLastRow()は、最下行を取得します。 2行目からの設定なので-1しています。

setValue()でその囲に対してtrueかfaleを設定しています。

 

 

 

 

さらに

チェックボックスのON/OFFで操作

  • チェックボックスのON/OFFでチェックボックスを操作できるようになります。
  • トリガーの使い方がわかります。

ちょっともっさりしていますが、
一応、実現できます。

 

動画はこちら

【GAS基礎講座 21 】②チェックボックスのON/OFFでチェックボックスを一気にON/OFFする方法

 

シートはこちら


※クリックするとシートが開きます。

 

スクリプト

const CheckColumn = 9 //チェックボックスの位置(列)
const CheckSheetName = "chekbox"



function SetCheckbox(check) {
  const ss = SpreadsheetApp.getActiveSpreadsheet()
  const ws = ss.getSheetByName(CheckSheetName)
  ws.getRange(2, CheckColumn, ws.getLastRow() - 1).setValue(check)


}


//いずれかのセルを変更した瞬間に動く
function ChangeCheckEvent() {
  const ss = SpreadsheetApp.getActiveSpreadsheet()
  const ws = ss.getSheetByName(CheckSheetName)
  let activeCell = ws.getActiveCell()


//セルの位置が 1,CheckColumn かどうかのチェック
  if ((activeCell.getColumn() == CheckColumn) &&
    (activeCell.getRow() == 1)) {
    // console.log("チェックされた")
    let val = ws.getRange(1, CheckColumn).getValue()
    console.log(val)
    SetCheckbox(val)




  }
}


function CheckAll() {
  SetCheckbox(true)
}



function UnCheckAll() {
  SetCheckbox(false)
}

ぜひ、やってみてください。

最後までご覧いただきありがとうございます。

つぎはこちら

【GAS】チェックボックスのON/OFFで項目をグレーアウトしメールを返信する方法
条件書式の効果的な使用方法がわかります。 チェックボックスのON/OFFにより項目のON/OFFが設定できるようになります。

GAS応用の一覧

コメント

タイトルとURLをコピーしました