var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var numsheets = spreadsheet.getNumSheets();
var sheets = spreadsheet.getSheets()[numsheets];
sheets return undefined.
How pass variable as parameter in the []?
Sheets count from 0 while getNumSheets()
returns the number of sheets (obviously starting to count "the natural way" from 1...)
In your code simply remove 1 like below :
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var numsheets = spreadsheet.getNumSheets();
var sheets = spreadsheet.getSheets()[numsheets-1];// gets the last sheet
note that getSheets()
returns an array of sheet objects, therefor the index between square brackets. Arrays are always 0 indexed, this one is no exception.
spreadsheet.getSheets()[0]
is sheet 1, spreadsheet.getSheets()[1]
is sheet 2 , etc