我需要帮助来调整以下代码,以仅将其应用于工作簿中的一张纸。从第9行开始修改行中的任何单元格时,我想更新N列。这对我来说非常有效,除了它尝试更新工作簿中的所有工作表,而我只希望将其应用于一个工作表。
function isInRange(checkRange, targetCell) {
Logger.log('checking isInRange');
var targetRow = targetCell.getRow();
if (targetRow < checkRange.getRow() || targetRow >
checkRange.getLastRow()) return false;
Logger.log('not outside the rows');
var targetColumn = targetCell.getColumn();
if (targetColumn < checkRange.getColumn() || targetColumn >
checkRange.getLastColumn()) return false;
Logger.log('not outside the columns');
return true;
}
function onEdit(eventObj) {
var checkRange = thisSheet = SpreadsheetApp.getActiveSheet();
var checkRange = thisSheet.getRange("A9:N1500");
if (isInRange(checkRange, eventObj.range)) {
Logger.log('cell is in range');
var propertyCell = eventObj.range;
var timestampCell = thisSheet.getRange(propertyCell.getRow(), 14);
timestampCell.setValue(Utilities.formatDate(new Date(), "GMT-4",
"MM/dd/yyyy hh:mm:ss a"));
} else {
Logger.log('must be outside the range');
}
}
答案 0 :(得分:0)
尝试一下:
function onEdit(e) {
var sh=e.range.getSheet();
if(sh.getName()!='WhatEverSheetYouWant') return;
if(e.range.rowStart > 8 && e.range.rowStart <= 1500 && e.range.columnStart >= 1 && e.range.columnStart < 15) {
sh.getRange(e.range.rowStart,14).setValue(Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MM/dd/yyyy hh:mm:ss a"));
}
}