首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >添加复选框以锁定Google工作表中下拉列表的单元格

添加复选框以锁定Google工作表中下拉列表的单元格
EN

Stack Overflow用户
提问于 2022-07-12 18:20:25
回答 1查看 54关注 0票数 0

假设我有一个Google表,其中A:G列是下拉列表。

我想添加一个选项,使用H列中的复选框锁定A:G列中的选项,在该栏中选中该复选框将锁定A:G列,从而无法编辑它们(除非取消选中H列中的复选框)。

在谷歌单张上能做到这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2022-07-13 02:58:23

我创建了以下脚本,该脚本基于很久以前在StackOverflow中的一个响应中找到的以前的脚本。

代码语言:javascript
运行
复制
function onEdit(e) 
{
  var editRange = {
    top : 1,
    bottom : 1000,
    left : 2,
    right : 2
  };

  var cell = e.range;

  // Exit if we're out of range
  var thisRow = cell.getRow();
  if (thisRow < editRange.top || thisRow > editRange.bottom) return;

  var thisCol = cell.getColumn();
  if (thisCol < editRange.left || thisCol > editRange.right) return;

  var val1 = e.range.getRow();
  var val2 = e.range.getColumn();
  var validation = SpreadsheetApp.getActive().getSheetByName("Testing Sheet").getRange(val1, val2-1);


  if(cell.isChecked()){
    var rule = SpreadsheetApp.newDataValidation().requireValueInList(['Red', 'Blue']).build();
  }
  else{
    var rule = SpreadsheetApp.newDataValidation().requireValueInList(['Black', 'White']).build();
  }
  validation.setDataValidation(rule);
}

我在开始时修改了范围,因此它只识别B列中的更改,但您只需将其更改为8 for column H即可。由于脚本使用onChange触发器,所以首先需要验证的是,如果编辑是在复选框所在的范围内进行的,那么我将根据复选框中的值设置要更改的单元格的范围,并根据条件创建数据验证规则。

在您的示例中,您只需为其他列添加更多validation变量的其余范围,并根据将要编辑的单元格将列参数更改为-2-3-4,然后根据下拉列表中需要的数据创建更多的验证规则。

下面是一个如何工作的例子:

参考文献:

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

https://stackoverflow.com/questions/72956780

复制
相关文章

相似问题

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