我的脚本适用于sample spreadsheet的第一张纸。但是,即使Logger.log(sheet.getName())
成功获取了当前正在编辑的工作表的名称,它也不适用于我的工作簿中的其他工作表。这是一个非常简单的问题,我只是想不出为什么它仅适用于我的一张纸。
function onEdit (e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet()
Logger.log(sheet.getName())
if (e.range.getA1Notation() === 'C19' && e.value == 'TRUE') {
sheet.getRange('K2:K89').setNumberFormat("0.00oz")
}
else if (e.range.getA1Notation() === 'C19' && e.value == 'FALSE'){
sheet.getRange('K2:K89').setNumberFormat("0.00g")
}
答案 0 :(得分:2)
在“加载选择器”中,C19值为TRUE / FALSE
在“加载选择器2.0的副本”中,C19值为1/0
在if循环的脚本中,您的C19 =='FALSE'/'TRUE'
就是这个问题。只需在“ Loader Picker 2.0的副本”单元格C19中重新创建一个新的复选框,它将C19值从1/0重置为TRUE / FALSE。 (不要忘记重新加入电子表格,或者只是在工作表之间切换,以便代码开始工作。)
这也是为什么onEdit()用于第一张而不是第二张的原因。