谷歌电子表格上的“电子表格”错误

时间:2016-06-12 09:55:49

标签: google-apps-script google-sheets

我的表格包含一些包含一些数据的矩阵。我编写了这个脚本,将数据复制到另一张纸上,并使用不同的参数对其进行排序,因此我可以自动对所有内容进行排序,而无需每次手动对其进行排序。问题是,代码仅在数据为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);
}

1 个答案:

答案 0 :(得分:0)

结果我使用了getMaxRows而不是getLastRow,因为没有得到两者之间的差异,所以我已经超出了工作表的实际内容。列也一样。