1

我的代码有点问题:我有 3 段代码,但我无法将它们组合在一起。

当某些单元格发生变化时,所有三个代码都将时间戳放在不同的单元格中。如果我更改单元格 A1,则在单元格 B1 中插入时间戳。如果单元格 A2 发生变化,则在单元格 B2 中插入时间戳等。

你能帮助我吗?谢谢。

1)

function onEdit(event) {


  var tsheet = 'Заявки' ; 

  var lcol = 17; 
  var rcol = 17; 
  var tcol = 18;


  var s = event.source.getActiveSheet();
  var sname = s.getName();
  if (sname == tsheet) {
    var r = event.source.getActiveRange();
    var scol = r.getColumn();
    if (scol >= lcol && scol <= rcol) {
      s.getRange(r.getRow(), tcol).setValue(new Date());
    }
  }

}

2)

function onEdit(event) {


  var tsheet = 'Заявки' ; 

  var lcol = 15; 
  var rcol = 15; 
  var tcol = 16;


  var s = event.source.getActiveSheet();
  var sname = s.getName();
  if (sname == tsheet) {
    var r = event.source.getActiveRange();
    var scol = r.getColumn();
    if (scol >= lcol && scol <= rcol) {
      s.getRange(r.getRow(), tcol).setValue(new Date());
    }
  }

}

3) 

function onEdit(event) {


  var tsheet = 'Заявки' ;

  var lcol = 9; 
  var rcol = 9; 
  var tcol = 8;


  var s = event.source.getActiveSheet();
  var sname = s.getName();
  if (sname == tsheet) {
    var r = event.source.getActiveRange();
    var scol = r.getColumn();
    if (scol >= lcol && scol <= rcol) {
      s.getRange(r.getRow(), tcol).setValue(new Date());
    }
  }

}
4

1 回答 1

0

将列规范放入数组中:

function onEdit(event) {

  var tsheet = 'Заявки' ;
  var colspec=[[17,17,18],[15,15,16],[9,9,8]];

  var s = event.source.getActiveSheet();
  var sname = s.getName();
  if (sname == tsheet) {
    var r = event.source.getActiveRange();
    var scol = r.getColumn();
    var i=colspec.length;
    while (i>0) {
      i--;
      if (scol >= colspec[i][0] && scol <= colspec[i][1]) {
        s.getRange(r.getRow(), colspec[i][2]).setValue(new Date());
      }
    }
  }
}
于 2012-10-13T23:49:09.663 回答