我試圖在第一張表中進行編輯后將動態單元格的值復制到另一張表上的特定單元格中。
示例:每當在“作業”表上編輯單元格 A5、B3 和 C2 時,它應該采用單元格 B1 的當前值并將其復制到作業表“概覽”上的單元格 C5。
這是我到目前為止的代碼,但它不知何故不起作用。我在這里想念什么?
function onEdit2() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "work") {
var r =s.getActiveCell() ;
if(r.getCell('A5') || r.getCell('B3') || r.getCell('C2') {
var b = s.getCell('B1') ;
var uo = SpreadsheetApp.getSheet('overview')
b.copyTo(uo.getCell('C5'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false)
}
}
}
uj5u.com熱心網友回復:
首先
onEdit2不能用作onEdit觸發器,除非它是可安裝的。因此,我建議onEdit您不必自己創建觸發器。最佳方法是使用事件處理程式,該處理程式
e將為您提供有關已編輯單元格的相關資訊。
我還通過使用包含檢查編輯的單元格是否是單元格串列的一部分來使您的代碼更清晰。
function onEdit(e) {
const as = e.source.getActiveSheet();
const ts = e.source.getSheetByName("overview");
const cell = e.range.getA1Notation();
const triggerCells = ["A5","B3","C2"];
if (as.getName() == "work" && triggerCells.includes(cell)){
let b = as.getRange("B1").getValue();
ts.getRange("C5").setValue(b);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/504966.html
標籤:javascript 谷歌应用脚本 谷歌表格 复制粘贴
上一篇:谷歌表格查詢回傳一行中的所有行
