我有一个下拉列表(数据验证)单元格,每次用户更改下拉列表时我需要清除几个单元格。我正在使用下面的脚本,没有任何反应。
function onEdit(e){
if (e) {
var ss = e.source;
var s = ss.getActiveSheet();
var editedCell = ss.getActiveCell();
var tsheet = "Target";
if(sname === tsheet && editedCell.getColumn() == 3 && editedCell.getrow() == 5){
value = "";
ss.s.getRange(7,3).setValue(value);
ss.s.getRange(9,3).setValue(value);
ss.s.getRange(10,3).setValue(value);
ss.s.getRange(12,3).setValue(value);
ss.s.getRange(14,3).setValue(value);
ss.s.getRange(16,3).setValue(value);
}
}
}
答案 0 :(得分:0)
你有 self.objects.insert(newDecision, atIndex:0)
let indexPath = NSIndexPath(forRow: 0, inSection: 0)
。我想你只想要sname === tsheet
运算符,或者如果你只是声明一个新变量,只需在if之外使用常规赋值。你从不使用sname,所以我不太清楚它的用途。此外,您可以使用clear()而不是将单元格设置为空值。如果问题仍然存在,请检查您的触发器是否已在脚本中正确设置(资源 - >当前项目'触发器)。
答案 1 :(得分:0)
替代版本:
function onEdit(e){
var s = e.source.getActiveSheet();
if(s.getName() !== "Target" || e.range.getA1Notation() !== 'C5') return;
[7, 9, 10, 12, 14, 16].map(function (r) {
s.getRange("C"+r).clear();
});
}