删除选定的行脚本

时间:2019-05-18 20:05:02

标签: google-apps-script google-sheets

我有这个脚本来删除已选中复选框的行。

function deleterows() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.showRows(1, sheet.getMaxRows());

  var values = sheet.getRange('K1:K50').getValues();

  values.forEach( function (r, i) {
    Logger.log(r);
    if (r[0]) 
      sheet.deleteRows(i+1);
    }); 
}

但是它不能正常工作-当我使用复选框选择多行时-它会删除部分选定内容以及部分紧随选择内容的行 screenshot

我是JavaScript的新手,所以有人可以帮助我

1 个答案:

答案 0 :(得分:0)

根据https://developers.google.com/apps-script/reference/spreadsheet/sheet#deleterowsrowposition-howmanydeleteRows一方面需要两个参数,但是您的脚本只传递了一个。

另一方面,每当删除一行时,以下各行的行号都会更改,因此最好向后迭代。有关更多详细信息,请参见其他Q / A Deleting rows in google sheets using Google Apps Script