2017-08-18 1 views
-2

セル値更新のタイムスタンプで、この値は式ベースです。シート内で値が手動で更新されると、タイムスタンプがトリガされます。しかし、セル値が(別のフィールドに基づく)から派生して更新されている場合、タイムスタンプはトリガされません。タイムスタンプはセル値の更新時にキャプチャしていません。この値は式ベースです

次のコード値では、 "a"と "b"が別のシートから派生しているため、別のシートに "a"という値を入力するか、式に基づくイベントが発生するとタイムスタンプは発生しません。私は助けが必要です 。

function onEdit() 
{ 
    var tradeden =2; // Column Number of "B" 
    var saquib = SpreadsheetApp.getActiveSpreadsheet(); 
    var bhai = saquib.getActiveSheet(); 
    var changedRange = bhai.getActiveRange(); 
    var timestamp = Utilities.formatDate(new Date(), "IST", "EEE, dd MMM yyyy HH:mm:ss"); 


    if (changedRange.getColumn() ==tradeden) 
     { 
    // An edit has occurred in Column B 
    var state = changedRange.getValue(); 
    if (state=="a") 
    { 
    var adjacent = bhai.getRange(changedRange.getRow(),tradeden+2); 
    adjacent.setValue(timestamp); 
    } 
    if (state=="b") 
    { 
    var adjacent1 = bhai.getRange(changedRange.getRow(),tradeden+3); 
    adjacent1.setValue(timestamp); 
    } 

    } 
    } 
+0

あなたのコードはPythonではなくJSにあります。タグスパミングをしないでください。 – DyZ

答えて

1

あなたの説明は、通常の動作です。シンプルなトリガーは、ユーザーの操作によってアクティブ化されることを意図しています。

他のシートにあるセルをonEdit関数に追加することもできますが、参照しているシートをアクティブなシートにする必要があると思います。

関連する問題