单元格值更新的时间戳,此值基于公式。当我在工作表中手动更新值时,让我具体化,时间戳正在触发。但是,当单元格值更新时,这是从公式(基于另一个字段)派生的,则时间戳不会触发。
在下面的代码值中,“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 :(得分:1)
您所描述的是正常行为。简单的触发器意味着由用户操作激活。
我认为您可以将其他工作表上的单元格添加到onEdit函数中,但您可能必须通过它的名称调用您引用的工作表,因为此时它不会是活动工作表。 / p>