激活两个函数的一个触发器

时间:2018-01-19 10:54:27

标签: google-apps-script google-sheets

自学老手,在谷歌床单上工作,对不起提前抱歉这里的烂摊子。我试图将数据从两个单元格拉入新表格。在使用onEdit触发它们之后,这两个都被拉入。我需要输入一个值并在两个单元格上输入,以便将它们放入新工作表中。如何设置它以便当我触发“D9”时我会输入“C9”加上“D9”?

function onEdit(e){
// Set a comment on the edited cell to indicate when it was changed.
 if(e.range.getA1Notation() === 'C9'){
 var input = e.range.getValue();


 var sheet = SpreadsheetApp.getActiveSpreadsheet();
 var inputSheet = sheet.getSheetByName("input")
 var masterSheet = sheet.getSheetByName("master inventory");

 var currentRow = inputSheet.getRange("E9").getValue(); 

 masterSheet.getRange("A3:A1000").getCell(currentRow, 1).setValue(input);
 inputSheet.getRange("E9").setValue(currentRow, 1);
 }
if(e.range.getA1Notation() === 'D9'){
 var input = e.range.getValue();
 e.range.clearContent();

 var sheet = SpreadsheetApp.getActiveSpreadsheet();
 var inputSheet = sheet.getSheetByName("input")
 var masterSheet = sheet.getSheetByName("master inventory");

 var currentRow = inputSheet.getRange("E9").getValue(); 

 masterSheet.getRange("B3:B1000").getCell(currentRow, 1).setValue(input);
 inputSheet.getRange("E9").setValue(currentRow + 1);
 }
}

1 个答案:

答案 0 :(得分:0)

我不确定你想要做什么,但试试这个:

function onEdit(e) {
  var x=e.source.getSheetName()
  if( x == "input" ) { //checks that we're on the correct sheet 
    var y = e.range.getSheet().getActiveCell();
    var z= e.range.getSheet().getActiveCell().getA1Notation()
    var row=e.range.getSheet().getActiveCell().getRow()
    if(z=="D9" && x=="input"){
      var cell=e.range.getSheet().getActiveCell().getValue()
      e.range.getSheet().getActiveCell().clearContent()
       var nextCell =e.range.getSheet().getActiveCell().offset(0,-1).getValue()
        e.range.getSheet().getActiveCell().offset(0,-1).clearContent()
        var sheet = SpreadsheetApp.getActiveSpreadsheet();
       var masterSheet = sheet.getSheetByName("master inventory");
      masterSheet.getRange("A3:A1000").getCell(row-2, 1).setValue(nextCell);
      masterSheet.getRange("B3:B1000").getCell(row-2, 1).setValue(cell);
    }}}