javascript - 更改另一个下拉选项后更改一组单元格的下拉选项
问题描述
我有一些任务行,列是天。所有单元格都有一个下拉列表,选项来自另一张表,只有“Y”或“N”。如果任务完成,我在下拉菜单中选择 Y。
如果同一行之一是“Y”,我想将所有下拉选项设置为“Y”。因此,如果我有一排满是“N”并且我将一个更改为“Y”,其余的应该更改为“Y”。与“N”相同,如果一个单元格设置为“N”,则同一行的所有其他单元格都应更改为“N”。
尝试了一些东西,但总是以某种循环错误告终。
解决方案
代码片段:
调整参数(在下面的代码中带有注释)以匹配您的特定场景。另请查看随附的 gif,以了解我如何根据示例表选择特定参数。
function onEdit(e) {
const startRow = 2; // assuming header in row 1
const startCol = 4; // dropdown starts in column D
const endCol = 7; // dropdown ends in column G
const sheetName = "Sheet1"; // select the name of your sheet
const ss = e.source;
const as = ss.getActiveSheet();
const ar = e.range;
const row = ar.getRow();
const col = ar.getColumn();
if (as.getName()==sheetName && row>=startRow && col>=startCol && col<=endCol){
if(["Y","N"].includes(ar.getValue())){
as.getRange(row,startCol,1,endCol-startCol+1)
.setValues([(new Array(endCol-startCol+1))
.fill(ar.getValue())])
}
}
}
笔记:
onEdit是一个触发函数。您不应该手动执行它,如果这样做,您实际上会收到错误(因为使用了事件对象)。您所要做的就是将此代码片段保存到脚本编辑器中,然后它会在编辑时自动触发。
代码片段的输出:
推荐阅读
- ruby-on-rails - `load_missing_constant':在自动加载常量 ApplicationRecord (RuntimeError) 时检测到循环依赖
- excel - 如何让多个无模式 VBA 表单在 Excel 上运行
- python - 如何在 Windows 上在 python 中删除 git 存储库
- svg - 沿 SVG 中的路径定位对象
- xml - Oracle DB - 在数据库中保存时间戳
- c# - asp .net core 3 本地化问题导致页面中断
- android - 底部片断内存泄漏
- node.js - Ionic,Node Sass 还不支持你当前的环境
- java - 我希望我的应用程序在 gps 打开时在后台服务上运行
- django - 石墨烯在订阅时返回 NoneType 错误