如何修改Google Sheets Apps Script实现多工作表行显隐控制
解决方案
直接修改你的onEdit函数,让它支持多个指定工作表,每个表独立通过自身A33单元格控制34-39行的显示/隐藏:
function onEdit(a) { // 定义需要生效的工作表列表,后续添加新Job表直接加在这里 var allowedSheets = ["Job 1", "Job 2", "Job 3"]; var watchCell = "A33"; var sheet = a.range.getSheet(); // 检查当前工作表是否在允许列表,且编辑的是指定单元格 if (!allowedSheets.includes(sheet.getName()) || a.range.getA1Notation() !== watchCell) { return; } // 根据下拉值控制行的显示/隐藏 switch (a.value) { case "YES": sheet.showRows(34, 6); break; case "NO": sheet.hideRows(34, 6); break; default: // 如果是其他值,默认隐藏行(和原逻辑一致) sheet.hideRows(34, 6); } }
关键改动说明:
- 将原来单一的监控工作表改成数组
allowedSheets,后续新增“Job 4”这类工作表,直接在数组里添加名称即可 - 修改判断条件,用
includes方法检查当前工作表是否在允许列表内,确保只有指定工作表触发逻辑 - 保留了原有的行控制逻辑,每个工作表的A33单元格独立生效,互不影响
内容的提问来源于stack exchange,提问作者StephenS
相关产品推荐
相关产品推荐

