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
}
}
添加回答
舉報