行を操作する

【GAS】スプレッドシートで複数行を削除する

GASでスプレッドシートの指定行から始まる複数行を削除するには「deleteRows(rowPosition, howMany)」を利用する。

deleteRows(rowPosition, howMany)

指定された行位置の行を削除します。

https://developers.google.com/apps-script/reference/spreadsheet/sheet?hl=en#deleterowsrowposition,-howmany

関連記事:【GAS】スプレッドシートの指定行を削除する

deleteRows(rowPosition, howMany)のパラメーター

名前タイプ説明
columnPositionInteger削除する最初の列の位置。
howManyInteger削除する列の数。
deleteRows(rowPosition, howMany)のパラメーター

スプレッドシートの指定行から始まる複数行を削除するGAS

function myFunction() {
  //アクティブなスプレッドシートを返す!
    var ss = SpreadsheetApp.getActiveSpreadsheet();
  //アクティブなスプレッドシートを取得
    var sht = ss.getActiveSheet();
 //A1:D5にテキストを実装
    var val = [
      ["Spread","Sheet",".BLUE","ここは削除しない行"],
      ["Spread","Sheet",".BLUE","ここは削除する行"],
      ["Spread","Sheet",".BLUE","ここは削除する行"],
      ["Spread","Sheet",".BLUE","ここは削除する行"],
      ["Spread","Sheet",".BLUE","ここは削除しない行"]
    ];
 //A1:C3にvalを実装
    sht.getRange("A1:D5").setValues(val);

  //メッセージボックスyesnoで2~4行目を削除するか確認
    var result = Browser.msgBox("2~4行目を削除しちゃう?",Browser.Buttons.YES_NO);
  //ifでnoだったらリサイズしないメッセージを出す(==:~等しい)
    if(result=="no"){
        Browser.msgBox("2~4行目は削除しなかったぜ");//noと等しい場合のテキスト表示
        sht.getRange("A2:D4").setBackground("yellow");//削除しない行の背景セルを黄色に
        sht.autoResizeColumns(5,2);//列を自動で調整
      }else{
        sht.deleteRows(2,3);//no以外の場合、2~4行目を削除
        sht.autoResizeColumns(5,2);//列を自動で調整
    }
}

スプレッドシートの指定行から始まる複数行を削除するGAS実行の様子

deleteRows(rowPosition, howMany)メソッドを利用して、スプレッドシートの指定行から始まる複数行を削除するGASを実行してみました。

deleteRowsを実行すると、指定した複数行が削除されていることがわかります。

複数行を削除しない場合

deleteRowsを実行しない場合、削除対象(2~5行目)セルの背景色を黄色にしてます。

deleteRows
deleteRowsで複数行を削除しないときのGAS

複数行を削除する場合

複数行の削除を指定すると、きちんと2行目~5行目が削除されていることがわかります。

deleteRows-YES
deleteRowsで複数行を削除するときのGAS

スプレッドシートの指定行から始まる複数行を削除するまとめ

GAS×スプレッドシートの指定行から始まる複数行を削除するならdeleteRows(rowPosition, howMany)メソッドを利用しましょう。

関連記事:【GAS】スプレッドシートの指定行を削除する

関連記事:【GAS】スプレッドシートで最下部に行を追加する

関連記事:【GAS】スプレッドシートの指定行の後ろに複数行を追加する

関連記事:【GAS】スプレッドシートの指定行の前に複数行を追加する

参考記事:【GAS】スプレッドシートに行を挿入する

-行を操作する