【GAS】チェックされた行を一気に削除する方法(Gスプレッドシート)

基礎講座

GAS基礎講座一覧

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

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

前回

【GAS】非表示の行を一気に削除する方法(Gスプレッドシート)
GASを使用して
  • 非表示の行を一気に削除できます。
  • 降順のループの使い方がわかります。
  • 今回は、とっても価値の高い方法をお伝えします。


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

    • チェックボックスの値の取得方法がわかります。
    • チェックされた行を一気に削除する方法がわかります。

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

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

     

    ご質問

    こんばんは〜
    今回非表示の行を削除ということでしたが、 業務で案件管理のシートがあって、 1行に要件や進捗状況、対応者名などの項目があり、例えばI列にチェックボックスを設定しておき、業務が完了したらチェックを入れ、チェックが入った行をグレーアウトするようにした場合、 その日の業務が完了したら、グレーアウトした業務のみを削除したい場合のGASコードはどうなりますか? 完了と入力(またはチェックボックスにチェク)

    質問文が長くややこしそうなので、一旦質問を閉じてしまいました。

    でも、よく読むと単に、チェックされた行を削除すれば良さそうです。
    であれば、簡単なのでやってみました。

    動画はこちら

    【GAS】Googleスプレッドシート チェックされた行を一気に削除する方法

    シートはこちら

    *クリックすることでシートが開きます。

     

    スクリプト

    //チェックされた行の削除
    function delckline() {
      const CKPOS = 1 //チェックボックスの位置(列) A→1,B→2,,,
      const ss = SpreadsheetApp.getActiveSpreadsheet()
      const sh = ss.getActiveSheet()
    
    
      for (i = sh.getLastRow(); i > 0; i--) {
        if (sh.getRange(i, CKPOS).getValue()) {  //チェックされていたら
          console.log(sh.getRange(i, CKPOS).getValue(), i, "行目 削除")
          sh.deleteRow(i) //行の削除
        }
      }
    }

     

     

     

    チェックする列を変更する場合は、CKPOSを変更すればOKです。

    例)A列→1,B列→2

    今回のスクリプトはなかなかニーズがあるのではないでしょうか?

    質問者さまありがとうございました。

     

     

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

    つぎはこちら

    【GAS】シートを開いたときに特定のセルを検索しアクティブにする方法(Gスプレッドシート)
  • GAS内で文字列を検索する方法がわかります。
  • セルを移動させる方法がわかります。
  • シートを開いたときにコマンドを実行する方法がわかります。
  • GAS基礎講座一覧

    コメント

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