根据单元格值隐藏多个工作表

时间:2017-02-06 22:29:01

标签: google-apps-script google-sheets

下午好,

我对Google表格的脚本相当新(习惯于Excel差异)并试图隐藏多张表格("第1周和第34周;"第2周和第34周;&#34 ;第3周" ...一直到第9周)并且只显示一个基于单元格(表格中的j10和#34;控制面板")。如果j10有" 4",只有"第4周"将显示。

我看到了一种方法{9}使用9" if语句"并且每个语句都有9个命令可以隐藏除了一个"周"片。基本上,我希望大大简化代码,不要太慢。

所以我尝试使用based on this old Stack Overflow question中的一些脚本,它是通过循环命令在hidesheet()方法之前编写的,但是我遇到了麻烦。

感谢您的考虑!

1 个答案:

答案 0 :(得分:1)

我以为你不想隐藏工作表'控制面板'?试试以下脚本

function onEdit(e) {
if (e.source.getActiveSheet()
    .getName() == 'Control Panel' && e.range.getA1Notation() == 'J10' && e.value > 0 && e.value < 10) {
    e.source.getSheets()
        .forEach(function (sh) {
            (sh.getName() !== 'Week ' + e.value && sh.getName() !== 'Control Panel') ? sh.hideSheet() : sh.showSheet();
        })
}
}

注意:此脚本使用简单的onEdit触发器。因此,不要尝试从脚本编辑器运行它(通过单击“播放”按钮)。而是转到工作表'控制面板'并在J10中输入一个值(&gt; 0和&lt; 9)。