我正在使用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既不接受变量也不接受整数值作为坐标。它仅对单元起作用,而在我搜索的每个论坛上均使用坐标。
我愿意就此问题提出任何建议。
祝你今天愉快!
尝试这个:
function onEdit(e){
if(e.range.columnStart==9){
e.range.offset(0,1).setValue(new Date());
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句