帮助! 在Google工作表中,我只想要一列来输入更新或修改行中任何单元格的最后日期和时间。 例如: a1 - 应该获得最后修订日期, b1-z1(a1之后的任意数量的单元格) - 每次更新或修改该行中的任何单元格时,都会更新a1日期。
我想将同一个脚本应用于多个工作表。
我发现这个脚本似乎工作得很好,最初:
function onEdit(event){
var ss = SpreadsheetApp.getActiveSpreadsheet();
//Script Last Update Timing
var actSht = event.source.getActiveSheet();
var actRng = event.source.getActiveRange();
var activeCell = actSht.getActiveCell();
var row = activeCell.getRow();
var column = activeCell.getColumn();
if(row < 2) return; //If header row then return
var colNums = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34]; //Coulmns, whose edit is considered
if(colNums.indexOf(column) == -1) return; //If column other than considered then return
var index = actRng.getRowIndex();
var dateCol = actSht.getLastColumn();
var lastCell = actSht.getRange(index,dateCol);
var date = Utilities.formatDate(new Date(), "GMT+5:30", "dd/MM/yyyy HH:mm:ss");
// Note: Insert the Date when someone update the row in the last coulmn
lastCell.setValue(date);
}
当我测试它时,它工作正常,但是在那一天之后它没有工作或者有时它起作用,或者当我自己进行修改但是它不能与这个人一起工作时工作我正在与。分享文件。
我对脚本没有任何了解,但经过一周的搜索,我选择发帖,希望有人能引导我走向正确的方向。
任何帮助将不胜感激!提前谢谢!
答案 0 :(得分:0)
看看这是否有帮助:
function onEdit(e) {
if (e.range.columnStart < 5 || e.range.rowStart < 21) return;
e.source.getActiveSheet().getRange(e.range.rowStart, 1) //first col
.setValue(Utilities.formatDate(new Date(), "GMT+5:30", "dd/MM/yyyy HH:mm:ss"));
}