试图解决这个问题。我得到了一个时间戳脚本的示例,该脚本将在编辑另一个特定列时为特定列添加时间戳。我调整了一些内容,以便迭代列列表以查看是否有任何列的更改。问题是,现在,只要修改了另一个选项卡中的任何其他相同列,它就会显示时间戳。
被修改的唯一应该触发时间戳的标签(在列TStamp中)是' Roster_Gear_Ranks'。
function onEdit(event)
{
var timezone = "GMT-5";
var timestamp_format = "MM-dd-yyyy";
var timeStampColName = "TStamp";
const arrCol = ["Ranks","Ilvl","Legend","Back","Chest","Legs",
"Hands","Should","Head","Hds","Shld","Hnds","Lgs","Chst","Bck"];
var arrLength = arrCol.length;
var sheet = event.source.getSheetByName('Roster_Gear_Ranks');
var actRng = event.source.getActiveRange();
var editColumn = actRng.getColumn();
var index = actRng.getRowIndex();
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var dateCol = headers[0].indexOf(timeStampColName);
var cell = sheet.getRange(index, dateCol + 1);
var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
cell.setValue(date);
for (var i = 0; i < arrLength; i++) {
var updateCol = headers[0].indexOf(arrCol[i]); updateCol = updateCol+1;
if (dateCol > -1 && index > 1 && editColumn == updateCol) {
}
cell()
date()
}
}