我只想为此代码定义一个特定的工作表:
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
var r = s.getActiveCell();
if( r.getColumn() == 3 && r.getValue() == '3')
var nextCell = r.offset(0, 1);
nextCell.setValue("1");
}
我尝试过.getsheetbyname:
function onEdit() {
var s =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test");
var r = s.getActiveCell();
if( r.getColumn() == 3 && r.getValue() == '3')
var nextCell = r.offset(0, 1);
nextCell.setValue("1");
}
,但它仍适用于所有工作表。我觉得这与.getactivecell .getcolumn和.getvalue有关。我也需要指定这些表格在哪张纸上吗?如果是这样,怎么办?非常感谢!
答案 0 :(得分:0)
使用事件对象检查当前工作表是否是您要尝试处理的工作表。将'required sheet name'
更改为您所需的内容。
function onEdit(e) {
var range = e.range;
var name = range.getSheet().getName();
// check if 'name' is OK
// if OK, proceed
// if NOT OK, return
if (name != 'required sheet name') return;
if (range.getColumn() == 3 && range.getValue() == '3') {
var nextCell = range.offset(0, 1);
nextCell.setValue('1');
}
}