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

チェックボックス

GAS応用の一覧

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

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

前回

【GAS】画像ファイルの形式をpngからJPEGに変換する方法
  • PNGファイルからJPEGファイルへの変換がコピペで行なえます。
  • さらにJPEGからPNG、JPEGからBMPなど様々な変換が行えます。
  • 今回は、とっても価値の高い方法をお伝えします。


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

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

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

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

     

    動画はこちら

     

    シートはこちら


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

     

    スクリプト

    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でチェックボックスを操作できるようになります。
    • トリガーの使い方がわかります。

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

     

    動画はこちら

     

    シートはこちら


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

     

    スクリプト

    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する方法(getDataRegion)
  • シート内の変化により(OnEdit)起動させる方法がわかります。
  • getDataRegionによりある程度の範囲を取得する方法がわかります。
  • GAS応用の一覧

    コメント

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