[英]How to delete rows fast if they have empty values at specific columns in Google App Script
[英]Delete rows script on multiple sheets even when some don't have empty rows
我有一个脚本,每天晚上在电子表格上完成工作后删除大约 15 个工作表底部的空行。 我运行它是因为空行经常留在底部(但并非总是如此),这有助于自动清理它而我不必担心它。 当底部留下空行时,它工作得很好,但是当没有空行并且工作表一直向下充满数据时,它会给我一个错误并且不会继续到下一张工作表。 我认为这与
lastRow + 1
但我不知道如何更改它才能正常运行。 我的主要问题是,我怎样才能正常运行此代码(删除列出的工作表上的空行),但如果没有任何空行,它只会转到下一张工作表而不是抛出错误?
// DELETE EMPTY ROWS AT BOTTOM
function RemoveEmptyRows() {
var ss = SpreadsheetApp.openById('spreadsheetId');
var arrayOfSheetTabNames, i, L, sheet;
arrayOfSheetTabNames = [
"Sheet1",
"Sheet2",
"Sheet3",
"Sheet4",
"Sheet5",
"Sheet6",
"Sheet7",
"Sheet8",
"Sheet9",
"Sheet10",
"Sheet11",
"Sheet12",
"Sheet13",
"Sheet14",
"Sheet15"
]
L = arrayOfSheetTabNames.length;
for (i = 0; i < L; i++) {
sheet = ss.getSheetByName(arrayOfSheetTabNames[i]);
var maxRows = sheet.getMaxRows();
var lastRow = sheet.getLastRow();
sheet.deleteRows(lastRow + 1, maxRows - lastRow);
}
};
感谢您的任何帮助!
如果我的理解是正确的,这个修改怎么样? 例如,在您的情况下,如何将lastRow
与maxRows
进行比较?
请修改如下,然后重试。
从: sheet.deleteRows(lastRow + 1, maxRows - lastRow);
到:
if (lastRow < maxRows) { sheet.deleteRows(lastRow + 1, maxRows - lastRow); }
如果我误解了您的问题并且这不是您想要的结果,我深表歉意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.