我需要有关此代码的帮助,该代码是通过Google电子表格上的链接发送给我的。
代码工作正常,但它只适用于单个列(A列)。我希望有人可以帮助编辑代码,使其在多列上工作,这些列可能连续也可能不连续。例如,列A到E和列K到O。
function onEdit() {
if(SpreadsheetApp.getActiveRange().getValue() == "1" && SpreadsheetApp.getActiveRange().getColumn()=="1") {
SpreadsheetApp.getActiveRange().setValue('=CHAR(9745)');
}
if(SpreadsheetApp.getActiveRange().getValue() == "0" && SpreadsheetApp.getActiveRange().getColumn()=="1") {
SpreadsheetApp.getActiveRange().setValue('=CHAR(9744)');
}
}
答案 0 :(得分:0)
您只需要删除列检查(条件的第二部分),使其适用于任何列。 最好使用传递给函数的事件对象,因为活动范围可以在执行期间更改。
function onEdit(e) {
if(e.value == "1") {
e.range.setValue('=CHAR(9745)');
} else if(e.value == "0") {
e.range.setValue('=CHAR(9744)');
}
}
如果您希望特定范围具有此功能,您可以将条件更改为以下内容:
function onEdit(e) {
if([1,2,3].indexOf(e.range.getColumn()) > -1) {
if (e.value == 1) {
e.range.setValue('=CHAR(9745)');
} else if(e.value == "0") {
e.range.setValue('=CHAR(9744)');
}
}
}