问题
I am trying to create a script to sort a table on the current active sheet/tab but I am getting an error that I could not identify. I keep getting The coordinates of the range are outside the dimensions of the sheet.. My table has data in them from columnA to columnQ. Data in columnA are identification numbers and columnB to columnQ contain formulas. What am I doing wrong with my script?
var sortFirst = 7; //index of column to be sorted by; 1 = column A, 2 = column B, etc.
var sortFirstAsc = true; //Set to false to sort descending
var sortSecond = 8;
var sortSecondAsc = true;
var sortThird = 9;
var sortThirdAsc = true;
var activeSheet = SpreadsheetApp.getActiveSheet();
var sheetName = activeSheet.getSheetName(); //name of sheet to be sorted
var sheet = SpreadsheetApp.getActive().getSheetByName(sheetName);
var range = sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn());
range.sort([{column: sortFirst, ascending: sortFirstAsc}, {column: sortSecond, ascending: sortSecondAsc}, {column: sortThird, ascending: sortThirdAsc}]);
回答1:
It's very likely that the error occurs on the line
var range = sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn());
It's very likely that the solution is to change it by
var range = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn());
The above because the range start on row 2 and because it's very likely that sheet has content on its last row.
来源:https://stackoverflow.com/questions/49157222/the-coordinates-of-the-range-are-outside-the-dimensions-of-the-sheet-error-whe