Подход:
Используя функции .getLastColumn()
и .getLastRow()
, вы получите соответственно позиции последнего столбца и строки, которые имеют содержимое. Вы можете использовать эти позиции для динамического наращивания диапазона с помощью функции .getRange(row, column, numRows, numColumns)
.
Поскольку вы хотите получить диапазон "A2: Z99", это будет выглядеть следующим образом: .getRange(2,1,sheet.getLastRow()-1, sheet.getLastColumn())
;
Решение:
var sheet = event.source.getActiveSheet();
var editedCell = sheet.getActiveCell();
var columnToSortBy = 1;
//var tableRange = "A2:Z99";
if(editedCell.getColumn() == columnToSortBy && /^Form\sResponses/.test(sheet.getSheetName())){
//var range = sheet.getRange(tableRange);
var range = sheet.getRange(2,1,sheet.getLastRow()-1, sheet.getLastColumn()); // A2:Z99
range.sort( { column : columnToSortBy , ascending:false});
};
Ссылки:
Лист getRange (строка, столбец, числа, нули)
Лист getLastRow ()
Лист getLastColumn ()