簡體   English   中英

onEdit 特定單元格將數據從一個谷歌表格復制到另一個

[英]onEdit specific cell copy data from one google sheets to another

在谷歌表中,我試圖將一個數據從一張表復制到另一張表。

我有這段代碼正在運行,但是我希望它在更改 Googlesheet1 中的單元格 E4 時運行 onEdit。 我是新手,似乎無法與我在網上找到的解決方案完全配合。

function ExportRange() {
  var destination = SpreadsheetApp.openById('googlesheet1');
  var destinationSheet = destination.getActiveSheet();      
  var destinationCell = destinationSheet.getRange("AC3");
  var cellData = '=IMPORTRANGE("https://docs.google.com/spreadsheets/googlesheet2", "AE10:AE9697")';
  destinationCell.setValue(cellData);
}
  • 根據您的要求在簡單可安裝onEdit觸發器之間進行選擇
  • 對於大多數應用程序來說,一個簡單的onEdit觸發器就足夠了,要使用它,您只需將 function ExportRange()重命名為onEdit()
  • 利用事件對象,為您提供有關觸發觸發器的事件的信息
  • 因此,觸發器onEdit可以為您提供有關event range的其他信息 - 即已編輯的范圍
  • 現在您可以實現一個if語句來指定該功能的 rest 只有在event range和相應的工作表符合要求時才運行

樣本:

function onEdit(event) {
  var range = event.range;
  var sheet = range.getSheet();
  if(range.getA1Notation() == "E4" && sheet.getName() == "Googlesheet1"){
    var destination = SpreadsheetApp.openById('googlesheet1');
    var destinationSheet = destination.getActiveSheet();      
    var destinationCell = destinationSheet.getRange("AC3");
    var cellData = '=IMPORTRANGE("https://docs.google.com/spreadsheets/googlesheet2", "AE10:AE9697")';
    destinationCell.setValue(cellData);
  }
}

請注意,此 function 只能在編輯的情況下由觸發器觸發。 如果您嘗試手動運行它,它將給您一個錯誤,因為如果該功能未被編輯事件調用,則event (以及event.range )將是未定義的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM