为了账号安全,请及时绑定邮箱和手机立即绑定

如何为每个编辑的特定工作表做些什么?

如何为每个编辑的特定工作表做些什么?

幕布斯6054654 2022-12-09 13:57:11
例如,我正在尝试检查“Sheet1”是否处于活动状态并且有人编辑它然后执行某些操作,如果“Sheet2”处于活动状态并且有人编辑它然后执行其他操作。这是代码示例,但如果有人在任何工作表中编辑此代码,它将加载相应工作表中的所有代码,这有点浪费。有没有办法检查是否有人在特定工作表中编辑?您的回复将不胜感激:)这是示例代码:function onEdit(e){  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");  const mean= ss.getRange('C2:C');  mean.setFormula("=SUM((A2+B2)/2)");    var ss1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");  const total= ss1.getRange('E2:E');  total.setFormula("=SUM(A2+B2+C2+D2)");}
查看完整描述

1 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

我相信你的目标如下。


您希望在编辑工作表时为每个工作表运行脚本。

在这种情况下,您可以使用 OnEdit 事件的事件对象来选择脚本,如下所示。


修改脚本:

function onEdit(e){

  var range = e.range;

  var sheet = range.getSheet();

  var sheetName = sheet.getSheetName();

  if (sheetName == "Sheet1") {

    const mean = sheet.getRange('C2:C');

    mean.setFormula("=SUM((A2+B2)/2)");

  } else if (sheetName == "Sheet2") {

    const total = sheet.getRange('E2:E');

    total.setFormula("=SUM(A2+B2+C2+D2)");

  }

}

在此修改中,当编辑“Sheet1”时,const mean = sheet.getRange('C2:C'); mean.setFormula("=SUM((A2+B2)/2)");运行。编辑“Sheet2”时,const total = sheet.getRange('E2:E'); total.setFormula("=SUM(A2+B2+C2+D2)");运行。


查看完整回答
反对 回复 2022-12-09
  • 1 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号