2016-10-31 95 views
0

如果一個事件(編輯單元格)發生在工作表的特定範圍內(不是所有工作表),我想用onEdit觸發一個觸發器? 例如:如果編輯了Sheet_1的「trgRng」(C10:C250)範圍的單元格,我只想觸發。Google Spreadsheet onEdit - 限制到一個範圍

我編碼如下,但它觸發所有片材不僅在特定的範圍的特定片

function onEdit(e) { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 

    // source sheet 
    var sSh = ss.getSheetByName("Diario"); 
    var aCell = sSh.getActiveCell().getValue(); 

    // destiny sheet - set value from source sheet 
    var dSh = ss.getSheetByName("Auxiliar"); 
    dSh.getRange('L4').setValue(aCell); 
} 

的是否有可能?怎麼樣?

回答

0

我已經解決這個問題:

{ 
function onEdit(e) { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 

    // source sheet 
    var sSh = e.source.getActiveSheet(); 
    var maxRow = sSh.getMaxRows(); 
    var name = sSh.getName(); 

    var rng = e.range; 
    var rngCol = rng.getColumn(); 

    if (sSh.getName() == "Diário" && rng.getColumn() == 8) { 

     ss.getSheetByName("Diário"); 
     var aCell = sSh.getActiveCell().getValue(); 

     // target sheet 
     var shD = ss.getSheetByName("Auxiliar"); 
     shD.getRange('L4').setValue(aCell); 
    } 
    } 
}