我的表格包含一些包含一些数据的矩阵。我编写了这个脚本,将数据复制到另一张纸上,并使用不同的参数对其进行排序,因此我可以自动对所有内容进行排序,而无需每次手动对其进行排序。问题是,代码仅在数据为174行或更少时才有效。如果我尝试排序175行,我会收到“电子表格错误”。 我该如何解决这个问题?我必须在那里获得一个排序算法吗?它会工作吗?
function sortsheet3() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
//ss is the spreadsheet
var s0 = SpreadsheetApp.getActiveSheet();
//s0 is the sheet I was working on
var c0 = s0.getActiveCell();
// c0 is the cell I was working on
// START SORTING
var s1 = ss.getSheetByName('Lista piante');
var x = s1.getMaxColumns();
var y = s1.getMaxRows();
var range = s1.getRange(2, 1, 175, x);
var s2 = ss.getSheetByName('Potenziale');
var r2 = s2.getRange(2, 1, 175, x)
range.copyTo(r2);
r2.sort({column: 4, ascending: false});
var s3 = ss.getSheetByName('Famiglia');
var r3 = s3.getRange(2, 1, 175, x)
range.copyTo(r3);
r3.sort({column: 3, ascending: true});
// END SORTING
SpreadsheetApp.setActiveSheet(s0);
// go back to original active cell
s0.setActiveCell(c0);
}
答案 0 :(得分:0)
结果我使用了getMaxRows而不是getLastRow,因为没有得到两者之间的差异,所以我已经超出了工作表的实际内容。列也一样。