自动在编辑某些单元格时为单元格加上时间戳

时间:2015-04-09 10:44:29

标签: scripting google-sheets

我正在尝试这样做,如果下面列出的电子表格中I4:AI503之间的任何单元格被编辑,它将更新AK列中的时间戳。

spreadsheet中使用了以下代码:

function onEdit() {
  var ss = SpreadsheetApp.getActiveSheet();
  if (ss.getName() == "RS3 Points") {
    var range = ss.getActiveCell();
    var col = range.getColumn();
    var row = range.getRow();
    if ((col >= 9) && (col <= 35) && (row > 3)) {
      var ActiveCell = ss.getRange().getRow()
      var TimestampCol = ss.getLastColumn()
      var formattedDate = Utilities.formatDate(new Date(), "GMT", "dd-MM-yyyy");
      var GetRange = ss.getRangeByName(ActiveCell, TimestampCol)
      GetRange.setValue(formattedDate)
    } 
  }
}

1 个答案:

答案 0 :(得分:0)

确保将列AK格式化为日期。然后,尝试以下代码:

function onEdit(e) {
if (e.source.getActiveSheet().getName() !== "RS3 Points" || 
    e.range.columnStart < 9 || e.range.columnStart > 35 || 
    e.range.rowStart < 4 || e.range
    .columnStart < e.range.columnEnd) return;
e.range.offset(0, 37 - e.range.columnStart).setValue(new Date());
}