我在这里有点头疼。我过去半年一直使用以下代码来检测Google表格中的编辑,标记日期,然后按日期从最旧到最新排序我的表格:
function onEdit(e) {
bidTime(e)
}
function bidTime(e) {
var sheet = e.source.getActiveSheet(); //gets the active sheet being edited
var sheetName = 'Active Bids'; //name of the sheet the script should work on
var editCell = sheet.getActiveCell(); //gets the active cell being edited
var colToWatch = 3 // watches for edits made in col C
var colToStamp = 4 //timestamp in col D
if (e.range.columnStart !== colToWatch || e.source.getActiveSheet()
.getName() !== sheetName || e.value == '') return; {
var writeVal = e.value !== '0' ? new Date() : "No bid.";
e.source.getActiveSheet()
.getRange(e.range.rowStart, colToStamp)
.setValue(writeVal);
}
function bidSort() {
var colSort = 5;
var tableRange = "A2:Z150";
if (editCell.getColumn() == colToWatch){
var range = sheet.getRange(tableRange);
range.sort( {column: colSort, ascending: true} );
}
}
//function bidAmount() {
// var value = editCell.getValue();
// if (editCell.getColumn() == colToWatch AND value <= 0) return; {
//}
bidSort();
}
直到今天下午,它一直在完美地工作,我正在修改bidAmount功能,我不知道它是否对我的代码做了些什么(我不知道怎么做?)但现在我的将日期戳应用于第4列后,工作表不再排序。
我已经尝试将bidSort函数分解为它自己的函数,并将这两个函数合并到onEdit函数中,似乎都没有做任何事情。我还尝试在bidSort函数中再次定义变量(这在今天下午之前是不必要的)并且仍然没有骰子。
我确实对所引用的电子表格做了一些很大的修改,并在电子表格中添加了另一张表,但我不明白为什么这些会影响我的代码。
有没有人知道会发生什么?几个月来,代码几乎没有变化,今天才开始给我提问。
如果您需要任何进一步的信息,请与我们联系!