如果隐藏行,则只有lastRow1显示错误的值。如何忽略隐藏的行?
function x() {
var s = SpreadsheetApp.getActive().getActiveSheet();
var lastRow1 = s.getLastRow();
var lastRow2 = s.getActiveRange().getLastRow();
Browser.msgBox(lastRow1);
Browser.msgBox(lastRow2);
if (lastRow1 == lastRow2) {
// Do something.
}
}
我相信您的目标如下。
为此,这个答案如何?
lastRow
检索isRowHiddenByUser
。function x() {
var s = SpreadsheetApp.getActive().getActiveSheet();
var lastRow = 0;
for (var i = s.getLastRow(); i > 0; i--) {
if (!s.isRowHiddenByUser(i)) {
lastRow = i;
break;
}
}
console.log(lastRow); // or Browser.msgBox(lastRow);
}
如果要通过基本过滤器从带有隐藏行的工作表中检索lastRow
,请进行如下修改。
来自
if (!s.isRowHiddenByUser(i)) {
To
if (!s.isRowHiddenByFilter(i)) {