首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据另一个工作表的单元格值隐藏google工作表

根据另一个工作表的单元格值隐藏google工作表
EN

Stack Overflow用户
提问于 2022-08-18 12:03:38
回答 1查看 33关注 0票数 0

我有一个谷歌电子表格的需求收集与多个工作表在其中。

我想根据电子表格中的条件隐藏一些工作表。

示例:

电子表格中有4个工作表- sheet1, sheet2, sheet3 and sheet4

默认情况下,所有工作表都应该隐藏。

sheet1的值作为条件

现在,如果只有当sheet2被标记为Yes时,那么sheet2应该解除隐藏,而sheets sheet3sheet4应该被隐藏。

类似地,只有针对每个工作表名称的Yes应该取消隐藏相应的工作表。

我们如何通过点击或使用Google应用程序脚本在Google中做到这一点。

我搜索了很多,但只找到了隐藏单元格范围的答案,而不是单张/标签。请帮帮忙

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-18 14:42:01

试试这个:

代码语言:javascript
复制
function onEdit() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet1 = ss.getSheetByName("Sheet1");
  var sheet2 = ss.getSheetByName("Sheet2");
  var sheet3 = ss.getSheetByName("Sheet3");
  var sheet4 = ss.getSheetByName("Sheet4");
  var cellv = sheet3.getRange('B4');
 
  if (cellv.getValue() == 'No') {
    sheet1.hideSheet();
  }

  if (cellv.getValue() == 'Yes') {
    sheet1.showSheet();
  }

  var cellc = sheet3.getRange('B5');

  if (cellc.getValue() == 'No') {
    sheet2.hideSheet();
  }

  if (cellc.getValue() == 'Yes') {
    sheet2.showSheet();
  }

  var cellb = sheet3.getRange('B7');

  if (cellb.getValue() == 'No') {
    sheet4.hideSheet();
  }

  if (cellb.getValue() == 'Yes') {
    sheet4.showSheet();
  }
}

该函数将根据显示在单元格上的值运行,可以通过从B4:B7检索范围值来改进代码,但是如果您只使用4个工作表,那么应该可以完成这项工作。

这就是它的工作方式:

在我的测试场景中,我使用sheet3检索单元值,但是您可以根据需要修改它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73402776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档