google-apps-script - Google表格:如果某个单元格为空,则隐藏行
问题描述
如果某个单元格为空,我现在正在隐藏一行。隐藏行的代码有效,但我遇到了问题。这是我正在尝试做的示例电子表格:LINK
这是隐藏行的代码:
var startRow = 6;
var colToCheck = 2;
function script_HideRows() {
var sheetNames = ["MS_Q1", "MS_Q2", "MS_Q3", "MS_Q4", "SUMMARY"]; // Please set the sheet names here. In this case, 4 sheets are used.
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.getSheets().forEach(sheet => {
var sheetName = sheet.getSheetName();
if (sheetNames.includes(sheetName)) {
if (sheetName == "SUMMARY") { // When the sheet is "SUMMARY", the start row is changed.
startRow = 7;
}
var numRows = sheet.getLastRow();
var elements = sheet.getRange(startRow, colToCheck, numRows).getValues();
for (var i=0; i<(numRows - startRow); i++) {
if (shouldHideRow(sheet, i, elements[i][0])) {
sheet.hideRows(startRow + i);
}
}
// Hide the rest of the rows
var totalNumRows = sheet.getMaxRows();
if (totalNumRows > numRows)
sheet.hideRows(numRows+1, totalNumRows - numRows);
}
});
}
我从这里得到了那个代码:LINK
我只想隐藏 B 列中包含空单元格的所有行。
我希望有一个人可以帮助我。对不起英语不好。先感谢您!
解决方案
我认为在您的脚本中,numRows - startRow
可能与elements
. 那么在这种情况下,下面的修改呢?
从:
for (var i=0; i<(numRows - startRow); i++) {
至:
for (var i=0; i < elements.length; i++) {
推荐阅读
- swift - 输入我的卡详细信息后,我无法获得 Stripe 付款 ID
- c++ - C++ 是否有库社区?
- ios - 如何解决“请求的应用程序不可用或不存在”。在试飞中
- excel - 正确总结双日班的日历天数 - Excel
- ssl - GeoServer 和 MariaDB 之间的连接问题
- json - 部署 ARM 模板时要更改的 JSON 参数
- recaptcha - 为什么 reCAPTCHA 允许垃圾邮件?
- python - 优先加入 PySpark 数据帧
- php - wkhtml用utf-8泰米尔语导出pdf
- google-cloud-platform - 使用 terraform 配置 bigquery 数据集