【问题标题】:How to get last visible row, if rows are hidden or not hidden by filter in Google Sheets?如果行被Google表格中的过滤器隐藏或未隐藏,如何获取最后一个可见行?
【发布时间】:2020-05-17 11:09:09
【问题描述】:
只有 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.
}
}
【问题讨论】:
标签:
javascript
google-apps-script
google-sheets
row
selection
【解决方案1】:
我相信你的目标如下。
对于这个,这个答案怎么样?
修改点:
- 在这种情况下,
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);
}
注意:
参考资料: