每當作業表“NETRankingsRohdaten”中單元格 A1 中的值發生變化時,我想自動運行此腳本。感謝幫助。
function NETsaveData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var reportSheet = ss.getSheetByName("NETRankingsRohdaten");
var recordsSheet = ss.getSheetByName("NETDatabase")
var NETsaveData = reportSheet.getRange("A2:F")
.getValues();
var lastRow = recordsSheet.getLastRow();
//copy data
recordsSheet.getRange(lastRow 1, 1, NETsaveData.length, 6)
.setValues(NETsaveData);
}
uj5u.com熱心網友回復:
我相信你的目標如下。
- 您希望在編輯“NETRankingsRohdaten”表的單元格“A1”時運行腳本。在這種情況下,如何使用 OnEdit 觸發器?使用 OnEdit 觸發器時,您的腳本如下所示。
修改后的腳本:
function onEdit(e) {
var range = e.range;
var reportSheet = range.getSheet();
if (reportSheet.getSheetName() != "NETRankingsRohdaten" || range.rowStart != 1 || range.columnStart != 1) return;
var ss = e.source;
var recordsSheet = ss.getSheetByName("NETDatabase")
var NETsaveData = reportSheet.getRange("A2:F").getValues();
var lastRow = recordsSheet.getLastRow();
recordsSheet.getRange(lastRow 1, 1, NETsaveData.length, 6).setValues(NETsaveData);
}
- 在這種情況下,當編輯“NETRankingsRohdaten”表的單元格“A1”時,將運行腳本。所以,當你直接運行這個函式時,就會發生錯誤。請注意這一點。
筆記:
如果要使用
NETsaveData(),還可以使用以下腳本。在這種情況下,您NETsaveData()的未修改。但是當編輯“NETRankingsRohdaten”表的單元格“A1”時,腳本就會運行。function onEdit(e) { var range = e.range; var reportSheet = range.getSheet(); if (reportSheet.getSheetName() != "NETRankingsRohdaten" || range.rowStart != 1 || range.columnStart != 1) return; NETsaveData(); }
參考:
- 簡單觸發器
- 事件物件
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/419475.html
標籤:
