电子表格时间戳记脚本跳过行

问题描述

我创建了一个脚本,该脚本通常会为第27列和第28列的第一次编辑和最后一次编辑生成时间戳,我的问题是某些行无法激活该脚本,并且我不明白为什么。

我对以下脚本有疑问:

function onEdit(e) {
  Timestamps(e);
};

function Timestamps(e) {
  
  // **Variables - Range of edit modifications**
  var row = e.range.getRow();
  var col = e.range.getColumn();
  
  // **Variables - Starting row and tab selected**
  var startRow = 2;
  var tab = "TP";
  
  // **Columns - Columns that trigger the timestamP**
  if( e.source.getActiveSheet().getName() === tab && row >= startRow && col === 12 ||
     e.source.getActiveSheet().getName() === tab && row >= startRow && col === 13 ||
     e.source.getActiveSheet().getName() === tab && row >= startRow && col === 14 ||
     e.source.getActiveSheet().getName() === tab && row >= startRow && col === 15 ||
     e.source.getActiveSheet().getName() === tab && row >= startRow && col === 16 ||
     e.source.getActiveSheet().getName() === tab && row >= startRow && col === 17 ||
     e.source.getActiveSheet().getName() === tab && row >= startRow && col === 18 ||
     e.source.getActiveSheet().getName() === tab && row >= startRow && col === 19 ||
     e.source.getActiveSheet().getName() === tab && row >= startRow && col === 20 ||
     e.source.getActiveSheet().getName() === tab && row >= startRow && col === 21 ||
     e.source.getActiveSheet().getName() === tab && row >= startRow && col === 22 ||
     e.source.getActiveSheet().getName() === tab && row >= startRow && col === 23  
    ){
      var currentDate = new Date();
      e.source.getActiveSheet().getRange(row,28).setValue(currentDate);
        if(e.source.getActiveSheet().getRange(row,27).getValue() == "" ){
          e.source.getActiveSheet().getRange(row,27).setValue(currentDate);
        } // **END IF - Check if date created exists**
    } // **END IF - Check column,row and tab**
}; // **END Timestamps function**

任何见识将不胜感激,谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)