0

我在这里有点头疼。在过去的半年里,我一直在使用下面的代码来检测 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 函数中再次定义变量(在今天下午之前没有必要),但仍然没有骰子。

我确实对所引用的电子表格进行了一些主要的外观更改,并在电子表格中添加了另一张工作表,但我不明白为什么这些事情会影响我的代码。

有谁知道会发生什么?代码实际上几个月没有改变,今天才开始给我带来问题。

如果您需要任何进一步的信息,请告诉我!

4

0 回答 0