时间戳未捕获单元格值更新,此值基于公式

时间:2017-08-18 20:38:42

标签: javascript google-apps-script

单元格值更新的时间戳,此值基于公式。当我在工作表中手动更新值时,让我具体化,时间戳正在触发。但是,当单元格值更新时,这是从公式(基于另一个字段)派生的,则时间戳不会触发。

在下面的代码值中,“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);
     }

   }
   }

1 个答案:

答案 0 :(得分:1)

您所描述的是正常行为。简单的触发器意味着由用户操作激活。

我认为您可以将其他工作表上的单元格添加到onEdit函数中,但您可能必须通过它的名称调用您引用的工作表,因为此时它不会是活动工作表。 / p>