我在我的整个电子表格中添加了一个“上次更新”的Google Apps脚本。此脚本自动将日期放在您正在编辑的行的最后一个单元格中。但是我有一个标题行,我想在其中输入静态文本,当我尝试输入该行的最后一个单元格时,它会用日期覆盖。
我似乎无法通过转到Tools>脚本编辑器来将其关闭。
发布于 2013-08-01 15:33:31
您的问题并不具体,但听起来像是在使用onEdit触发器函数来设置“上次更新”列。
只需检查当前行是否在标题内,然后退出触发器。如下所示:
function onEdit(e)
{
var rr = e.range;
var ss = e.range.getSheet();
var headerRows = 1; // # header rows to ignore
if (rr.getRow() <= headerRows) return;
...
这是你的onEdit,在结合了上面的建议之后。在其中一个触发器函数中,在检查是否应该纾困之前,您希望投资尽可能少。您将注意到,为了提高效率,对头的检查位于函数的顶部。出于同样的原因,不必要的行也被注释掉了。
function onEdit(event) {
// note: actRng = the cell being updated
var actRng = event.range;
var headerRows = 2;
if (actRng.getRow() <= headerRows) return;
var sheet = actRng.getSheet();
//var index = actRng.getRowIndex();
//var cindex = actRng.getColumnIndex();
var dateCol = sheet.getLastColumn();
var lastCell = sheet.getRange(index, dateCol);
var date = Utilities.formatDate(new Date(), "GMT", "MM-dd-yy");
lastCell.setValue("'" + date);
}
https://stackoverflow.com/questions/17993097
复制相似问题