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

GAS Google 脚本 - 如何复制值并粘贴到另一个单元格中

GAS Google 脚本 - 如何复制值并粘贴到另一个单元格中

江户川乱折腾 2023-10-20 15:30:08
我需要谷歌脚本的任何需要。我需要在激活单元格中复制值并粘贴到另一个单元格中。此时我的代码是:function onEdit(e) {        var ss = SpreadsheetApp.getActiveSpreadsheet();      var sheet = ss.getActiveSheet();      var cell = sheet.getActiveCell();      var valueCell = cell.getValue();      console.log(valueCell);  }我需要监视事件,获取值并将其复制到另一列。(B 列 -> D;C 列 -> E)。该副本将按单元格而不是按单元格范围进行制作。示例:在单元格 B5 中输入值,复制到 D5。在 C5 中输入的值我立即依次复制到 E5。
查看完整描述

2 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

解释:

您的目标是在编辑 或B->DC->E复制值。BC

  • 您需要充分利用事件对象。

  • 以下脚本将检查编辑的姓名表是否为dados. 然后,假设您有标题,它将确保在行之后1进行编辑。最后,我们只接受对列BC/或列索引2或的编辑3

    if(sh.getName() == 'dados' && row > 1 && [2,3].includes(col))

  • 然后我们使用三元运算符来使代码更加高效: sh.getRange(row,col+2).setValue(e.value);

解决方案:

function onEdit(e) {

  const ss = e.source;

  const sh = ss.getActiveSheet();

  const row = e.range.getRow();

  const col = e.range.getColumn();

  

  if(sh.getName() == 'dados' && row > 1 && [2,3].includes(col)){

   sh.getRange(row,col+2).setValue(e.value);

  }

 }

笔记:


要使用此脚本,请将上述代码复制并粘贴到Tools => Script editor中的空白脚本中。保存更改,然后您将自动在工作表中获得所需的功能。您不应手动执行该函数,因为它是触发函数。


查看完整回答
反对 回复 2023-10-20
?
月关宝盒

TA贡献1772条经验 获得超5个赞

您可以尝试以下操作,只要它是您要复制到的特定单元格,这对您就有效:


function onEdit(e) {

  var val = e.value;

  var ss = SpreadsheetApp.getActiveSpreadsheet();

  var sh = ss.getActiveSheet();

  var copyTo = sh.getRange('A1').setValue(val); //<<<change the A1 to the cell you wish to copy to

}

}


查看完整回答
反对 回复 2023-10-20
  • 2 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信