我想仅在其值已更改的工作表上进行“ onedit”工作。
例如。)[sheet1]如果在第7列中输入一个值,则要在[sheet1]第6列中写入时间。
要么
[sheet2]如果在第7列中输入一个值,则要在[sheet2]第6列中写入时间。
并且不要在[sheet5]上工作。
但是我不想的时间也出现在[sheet2]和[sheet3]中。
请帮助我。
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
["sheet1", "sheet2", "sheet3"].forEach(function (e) {
var sheet = ss.getSheetByName(e);
var activeCell = sheet.getActiveCell();
var col = activeCell.getColumn();
var row = activeCell.getRow();
if (col == 7 ) {
sheet.getRange(row, col - 1).setValue(new Date()).setNumberFormat('MM-dd-hh-mm'); // change the display format to your preference here
}
}
)}
答案 0 :(得分:0)
为什么对工作表名称使用硬编码的字符串?只需检查传递给onEdit(e)函数的事件对象的属性即可获取已编辑的工作表:
function onEdit(e) {
//Get the edited range
var editedRange = e.range;
//Get the sheet
var editedSheet = editedRange.getSheet();
}