Reputation: 693
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
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