2 回答
TA贡献1890条经验 获得超9个赞
解释:
您的目标是在编辑 或B->D
时C->E
复制值。B
C
您需要充分利用事件对象。
以下脚本将检查编辑的姓名表是否为
dados
. 然后,假设您有标题,它将确保在行之后1
进行编辑。最后,我们只接受对列B
和C
/或列索引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中的空白脚本中。保存更改,然后您将自动在工作表中获得所需的功能。您不应手动执行该函数,因为它是触发函数。
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
}
}
添加回答
举报