这是一个非常简单的脚本,我注意到了失败的情况。我测试最多的情况是在单元格中键入“ ts”时,该值不会被替换,但是当我从脚本中复制并将其粘贴到单元格中时,它会替换该值。我已经多次键入该行代码,以确保引号内没有多余的空间。非常感谢对此有何见解。
switch (e.value) {
case 'n':
e.range.setValue('=Sheet5!B1');
break;
case 't':
e.range.setValue('=Sheet5!B2');
break;
case 'i': //fails
e.range.setValue('=Sheet5!B3');
break;
case 'c':
e.range.setValue('=Sheet5!B4');
break;
case 's': //fails
e.range.setValue('=Sheet5!B5');
break;
case 'st':
e.range.setValue('=Sheet5!B6');
break;
case 'si': //fails
e.range.setValue('=Sheet5!B7');
break;
case 'sc':
e.range.setValue('=Sheet5!B8');
break;
case 'ts': //fails
e.range.setValue('=Sheet5!B6');
break;
case 'is': //fails
e.range.setValue('=Sheet5!B7');
break;
case 'cs':
e.range.setValue('=Sheet5!B8');
break;
case 'd': //fails
e.range.setValue('=Sheet5!B9');
break;
default:
return;
}
return;
}```
如果您创建并安装onEdit触发器,则可以使用此方法,因为更改值无法使用简单的触发器。
function onYourEdit(e) {
var sh=e.range.getSheet();
if(sh.getName()!='Sheet10')return;
switch (e.value) {
case 'n':
e.range.setValue('=Sheet11!B1');
break;
case 't':
e.range.setValue('=Sheet11!B2');
break;
case 'i': //fails
e.range.setValue('=Sheet11!B3');
break;
case 'c':
e.range.setValue('=Sheet11!B4');
break;
case 's': //fails
e.range.setValue('=Sheet11!B5');
break;
case 'st':
e.range.setValue('=Sheet11!B6');
break;
case 'si': //fails
e.range.setValue('=Sheet11!B7');
break;
case 'sc':
e.range.setValue('=Sheet11!B8');
break;
case 'ts': //fails
e.range.setValue('=Sheet11!B6');
break;
case 'is': //fails
e.range.setValue('=Sheet11!B7');
break;
case 'cs':
e.range.setValue('=Sheet11!B8');
break;
case 'd': //fails
e.range.setValue('=Sheet11!B9');
break;
default:
return;
}
return;
}