hs7624
hs7624

Reputation: 693

Those rows are out of bounds. (line 10, file "Code") error

I have written a code to clear my google spreadsheet automatically using app script after the number of rows goes greater than 100 rows. I have used a 1 minute trigger to fire the code. The number of rows has gone greater than 2000 yet the code is not triggered. I tried debugging and got the following error:

Those rows are out of bounds. (line 10, file "Code")

 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheets()[0];

 // This logs the value in the very last cell of this sheet
 var lastRow = sheet.getLastRow();
function a()
{
if(lastRow>=996)
{
   sheet.deleteRows(3, lastRow-1);
}
}

Upvotes: 1

Views: 1961

Answers (1)

Kishan
Kishan

Reputation: 1810

You are trying to delete the total number of rows (lastrow -1) from row number 3.
So if total number of rows is 1000 then you are trying to delete 999 rows starting from row number 3, that's why you are getting the error.

Try the following code:

function a() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var lastRow = sheet.getMaxRows();
  if(lastRow>100) {
    sheet.deleteRows(101, lastRow-100);
  }
};

Upvotes: 2

Related Questions