Search code examples
google-apps-scriptgoogle-sheetsgoogle-apps

Get sheets with several


var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var numsheets = spreadsheet.getNumSheets();
var sheets = spreadsheet.getSheets()[numsheets];

sheets return undefined.

How pass variable as parameter in the []?


Solution

  • 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