如何让Google Sheets onEdit脚本自动作用于电子表格所有工作表标签
解决方法
原有代码中sheetName === 'Nov. 2021'的判断限制了逻辑仅对指定名称的工作表生效,删除该判断条件后,编辑触发的逻辑就会应用到当前文件的所有工作表上,修改后的完整代码如下:
function onEdit(e) { var range = e.range; var value = range.getValue(); var sheet = range.getSheet(); if (range.getRow() > 1 && range.getColumn() == 6 && typeof value === 'string') { if(!range.getFormula()) { range.setValue(value.toUpperCase()); } else { if(range.getFormula().substring(0,6).toUpperCase() == '=UPPER') { return; } else { range.setFormula('=UPPER(' + range.getFormula().substring(1) + ')'); } } } }
如果有部分工作表不需要应用该逻辑,可以增加排除名单配置,示例如下:
function onEdit(e) { var range = e.range; var value = range.getValue(); var sheet = range.getSheet(); var sheetName = sheet.getName(); // 此处填入不需要生效的工作表名称,可自行增删 var excludedSheetList = ['汇总表', '基础配置']; if (!excludedSheetList.includes(sheetName) && range.getRow() > 1 && range.getColumn() == 6 && typeof value === 'string') { if(!range.getFormula()) { range.setValue(value.toUpperCase()); } else { if(range.getFormula().substring(0,6).toUpperCase() == '=UPPER') { return; } else { range.setFormula('=UPPER(' + range.getFormula().substring(1) + ')'); } } } }
内容的提问来源于stack exchange,提问作者Jump_Ace
相关产品推荐
相关产品推荐

