【发布时间】:2019-01-06 20:15:39
【问题描述】:
如果范围为空,我一直在尝试有条件地隐藏或过滤列。我猜函数“if”不起作用,因为即使范围不为空,该列也会被隐藏。
如果有人检查我的代码,我会感谢。
function OcultarSi() {
var ss = SpreadsheetApp.getActive();
var sh = ss.getSheets()[0];
var range = sh.getRange('E2:E24');
if (range.isBlank()){
spreadsheet.getRange('E:E').activate();
spreadsheet.getActiveSheet().hideColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());
}
};
【问题讨论】:
-
添加更多详细信息,例如 E2:E24 上的值/公式是什么。考虑添加演示电子表格的屏幕截图或链接
-
@MarioAndres 非常接近。 1) 第 3 行和第 4 行具有相同的效果
var ss = SpreadsheetApp.getActive();和var sh = ss.getSheets()[0];- 你不需要两者。 2)Line7:spreadsheet.getRange('E:E').activate();“电子表格”未定义,也许试试sh.getRange('E:E').activate();。同上第 8 行;试试sh.hideColumns(sh.getActiveRange().getColumn(), sh.getActiveRange().getNumColumns());。 -
谢谢特迪诺兹!不,它有效,我意识到我已将“电子表格”更改为“ss”,但并非在所有地方。下面的代码适用于需要类似代码的任何其他用户。 . .函数 OcultarSi() { var 电子表格 = SpreadsheetApp.getActive();变量范围 = 电子表格.getRange('E2:E24'); if (range.isBlank()){ spreadsheet.getRange('E:E').activate();电子表格.getActiveSheet().hideColumns(spreadsheet.getActiveRange().getColumn(),电子表格.getActiveRange().getNumColumns()); } };
标签: google-apps-script google-sheets