如何在450之后创建一个删除所有行的循环?

时间:2013-11-13 17:30:26

标签: for-loop google-apps-script google-spreadsheet-api delete-row

我正在开发一个从Google表单填充的电子表格。我想出了如何在每周后删除所有数据以重置表单和电子表格。我面临的问题是表单为每个条目添加了新行。最终电子表格将达到​​行限制,但我需要表格继续数年。我到目前为止的代码是:

herefunction clearRange() {
  var sheet = SpreadsheetApp.getActive().getSheetByName('Form Responses 1');
  sheet.getRange('A8:V100').clearContent();

  for (row>=451; row<1000; row++) {
  sheet.deleteRow(451)
}
}

当它解析时,它给我一个错误说:ReferenceError:“row”没有定义。我是编程世界的新手,非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

虽然另一个答案很慢但是当有很多行时它会中断。 使用deleteRows可以通过一次调用将它们全部删除。 https://developers.google.com/apps-script/reference/spreadsheet/sheet#deleteRows(Integer,Integer)

答案 1 :(得分:1)

function clearRange() {

        var sheet = SpreadsheetApp.getActive().getSheetByName('Form Responses 1');
        var rows = sheet.getDataRange();
        var numRows = rows.getNumRows();
        sheet.getRange('A8:V100').clearContent();

        for (var row=451; row <= numRows; row++) {
            sheet.deleteRow(row);
        }
    }