我有一些细胞(非相邻网)。其中每个都有一个范围名称,格式为“rLamp nn ”,如下所示。
ss.getRangeByName("rLamp20").setValue(e.range.getValue());
ss.getRangeByName("rLamp19").setValue(e.range.getValue());
ss.getRangeByName("rLamp18").setValue(e.range.getValue());
我想立刻将相同的值放入其中的几个中。 (然后它们中的每一个都有一个条件格式,根据输入的内容改变单元格颜色。)
是否有更有效的方法(即更快)将相同的值设置为一组这些单元格而不是像上面那样的单个调用?
答案 0 :(得分:0)
如果你有很多这样的话,你可以使用命名范围内的 nn 索引来循环.setValue()
:
var fName = 'rLamp';
var howManyNamedRanges = 20;
// Assuming the first NamedRange is rLamp0
for (var i=0;i<howManyNamedRanges;i++) {
ss.getRangeByName(fName+i).setValue(e.range.getValue());
}
如果第一个命名范围是1,或者您可以将其更改为:
var fName = 'rLamp';
var firstNamedRange = 4;
var lastNamedRange = 20;
// Assuming the first NamedRange is rLamp[n]
for (var i=firstNamedRange;i<=lastNamedRange;i++) {
ss.getRangeByName(fName+i).setValue(e.range.getValue());
}