我正在使用Google Tabs中的一个小脚本来监视列,当该列中的任何单元格发生更改时,它将当前日期写入更改后的单元格旁边的单元格中。
我一直在十几个站点上寻找解决方案,并相应地修改了我的代码,但是我一直遇到相同的问题。如果我提供一个确定的单元格作为参数,例如.getRange('I3'),则.getRange()脚本可以很好地工作,但是当我尝试使用坐标而不是.getRange(3,9)时,它不会执行任何操作。这确实是一个问题,因为我需要使用更改后的单元格的行号将日期写入到它旁边的单元格。
function onEdit(){
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var editedCell = sheet.getActiveCell();
if(editedCell.getColumn() == 9){
var date = sheet.getRange('J2'); //current date is in cell J2
var row = sheet.getRange(editedCell).getRow();
sheet.getRange(row,10).setValue(date);
}
}
我尝试将代码分解为较小的位,以找出哪个部分继续失败,并发现.getRange既不接受变量也不接受整数值作为坐标。它只对单元起作用,而在我搜索过的每个论坛上都使用了坐标。
我愿意接受有关此问题的任何建议。
祝你有美好的一天!
答案 0 :(得分:0)
尝试一下:
function onEdit(e){
if(e.range.columnStart==9){
e.range.offset(0,1).setValue(new Date());
}
}