答案 0 :(得分:1)
function removeEmptyRows(){
var sh = SpreadsheetApp.getActiveSheet();
if(sh.getLastRow()<sh.getMaxRows()) {
sh.deleteRows(sh.getLastRow()+1, sh.getMaxRows()-sh.getLastRow());
}
}
答案 1 :(得分:1)
对于您而言,我认为当maxRows-lastRow
为0或小于0时,会发生这种错误。因此,请确认工作表底部是否有这些值。如果工作表底行没有值,可以提供样本电子表格来复制问题吗?我想确认一下。
作为避免错误的修改点,接下来的修改如何?
sh.deleteRows(lastRow+1, maxRows-lastRow);
if (maxRows-lastRow > 0) {
sh.deleteRows(lastRow+1, maxRows-lastRow);
}
或者,如下所述如何使用第一行中的数据区域删除空行?
function removeEmptyRows(){
var sh = SpreadsheetApp.getActiveSheet();
var lastRowOfDataRegion = sh.getRange("1:1").getDataRegion(SpreadsheetApp.Dimension.ROWS).getLastRow();
var maxRows = sh.getMaxRows();
if (maxRows-lastRowOfDataRegion > 0) {
sh.deleteRows(lastRowOfDataRegion+1, maxRows-lastRowOfDataRegion);
}
}
如果我误解了你的问题,我表示歉意。