排序时出现“范围坐标超出纸张尺寸”错误

2024-04-14

我正在尝试创建一个脚本来对当前活动工作表/选项卡上的表格进行排序,但收到一个无法识别的错误。我不断得到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(使用前将#替换为@)

排序时出现“范围坐标超出纸张尺寸”错误 的相关文章

随机推荐