首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于复选框值隐藏列

基于复选框值隐藏列
EN

Stack Overflow用户
提问于 2022-07-07 14:07:29
回答 2查看 150关注 0票数 -1

我想在我的生产计划中实现一个代码。是否有一种基于复选框真值隐藏列的方法?假设我将复选框添加到第5行,并且希望在选中复选框时分别隐藏从M列开始的每一列。我实现代码是为了隐藏行,但是对于列,由于我对google脚本没有经验,所以它变得很棘手。

是否也可以添加自定义过滤器,同时显示所有隐藏的列,如果我想对其中一个列进行更改,然后立即隐藏它们?

EN

回答 2

Stack Overflow用户

发布于 2022-07-07 14:46:15

是的,这些是!如果使用onEdit函数,则可以使用e.range.isChecked()查看是否选中了复选框。在此之后,您只需要运行activeSheet.hideColumns(editedColumn, 1)来隐藏列。

--这段代码应该能起作用:

代码语言:javascript
复制
function onEdit(e) {
  var activeSheet = SpreadsheetApp.getActiveSheet();
  var editedRange = e.range;
  var editedRow = editedRange.getRow();
  var editedColumn = editedRange.getColumn();

  //If the checkbox isn't checked, return
  if (!editedRange.isChecked()) return;

  //If the edited row isn't in row 5, return
  if (editedRow != 5) return;

  //If the edited column is before M, return
  if (editedColumn < 12) return;
  
  //Hide the edited column
  activeSheet.hideColumns(editedColumn, 1);
}
票数 1
EN

Stack Overflow用户

发布于 2022-07-07 15:07:22

隐藏以M开头的列

代码语言:javascript
复制
function onEdit(e) {
  e.source.toast("Entry")
  const sh = e.range.getSheet();
  if (sh.getName() == "Enter Your Sheet Name" && e.range.columnStart > 12 && e.range.rowStart == 5 && e.value == "TRUE") {
    e.source.toast("Flag1");
    sh.hideColumns(e.range.columnStart);
    e.range.setValue("FALSE");
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72899300

复制
相关文章

相似问题

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