我正在尝试创建一个脚本来对当前活动工作表/选项卡上的表格进行排序,但收到一个无法识别的错误。我不断得到The coordinates of the range are outside the dimensions of the sheet.
。我的表中逐列都有数据。 A 列中的数据是标识号,并且列与列之间包含公式。我的脚本做错了什么?
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}]);
很有可能是线路上出现错误
var range = sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn());
解决方案很可能是通过以下方式更改它
var range = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn());
上面的情况是因为范围从第 2 行开始,并且工作表的最后一行很可能有内容。
Related
- Google Sheets 脚本 getLastRow() 未返回所有值 https://stackoverflow.com/q/47642693/1595451
- 需要帮助调试旨在更新 Google 云端硬盘中数百个文件的 Google Apps 脚本代码 https://stackoverflow.com/q/66711145/1595451
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)