如何在单个Google Apps Script函数中引用第二个工作表并清除内容?
实现同一函数清除两个工作表数据
修改后的完整代码如下,你只需要替换"第二个工作表名称"为实际的工作表名称,并调整对应的清除范围:
function onEdit(e) { var ss = e.source; var activeSheet = ss.getActiveSheet(); var cell = e.range; if (activeSheet.getName() == "SIGNATURE BATCHES" && cell.getA1Notation() == "E6" && cell.isChecked()){ // 清除第一个工作表(SIGNATURE BATCHES)的内容 activeSheet.getRange("E10:14").clearContent(); activeSheet.getRange("E19:E23").clearContent(); activeSheet.getRange("E27:E33").clearContent(); activeSheet.getRange("E37:E41").clearContent(); activeSheet.getRange("E44:E48").clearContent(); activeSheet.getRange("E51:E55").clearContent(); activeSheet.getRange("E59:E63").clearContent(); activeSheet.getRange("E66:E70").clearContent(); activeSheet.getRange("E74:E77").clearContent(); activeSheet.getRange("E81:E84").clearContent(); // 获取第二个工作表并清除内容 var secondSheet = ss.getSheetByName("第二个工作表名称"); // 替换为实际工作表名称 if (secondSheet) { // 确保工作表存在,避免报错 // 这里添加第二个工作表需要清除的范围,示例: secondSheet.getRange("A1:C10").clearContent(); // 可继续添加更多需要清除的单元格范围 } // 重置复选框 cell.setValue(false); } }
关键修改点
- 获取第二个工作表:用
ss.getSheetByName("工作表名称")直接指定名称获取目标工作表,无需依赖当前激活的工作表 - 添加清除逻辑:在原清除代码后,新增针对第二个工作表的
clearContent()调用,根据实际需求调整要清除的单元格范围 - 容错处理:增加
if (secondSheet)判断,防止因工作表名称写错导致函数报错
内容的提问来源于stack exchange,提问作者scjwolin57
相关产品推荐
相关产品推荐

