在 google 表格上尝试根据特定单元格中的值隐藏/取消隐藏行,并尝试在 AppsScript 中为此编写脚本。发现一个独立工作的(如果 B55=NO 它隐藏了下一行 64):
function onEdit(e) {
var activeSheet = e.source.getActiveSheet();
var range = e.range;
if (activeSheet.getName() !== 'Inputs' || range.getA1Notation() !== 'B55') return;
if (e.value === 'No') {
activeSheet.hideRows(56, 64);
} else if (e.value === 'Yes') {
activeSheet.showRows(56, 64);
}
}
但是对于多个单元格和多行,我需要相同的内容,一旦我展开它,只有代码的最后一部分有效,而不是第一部分:function onEdit(e) {
var activeSheet = e.source.getActiveSheet();
var range = e.range;
if (activeSheet.getName() !== 'Inputs' || range.getA1Notation() !== 'B55') return;
if (e.value === 'No') {
activeSheet.hideRows(56, 64);
} else if (e.value === 'Yes') {
activeSheet.showRows(56, 64);
}
}
function onEdit(e) {
var activeSheet = e.source.getActiveSheet();
var range = e.range;
if (activeSheet.getName() !== 'Inputs' || range.getA1Notation() !== 'B121') return;
if (e.value === 'No') {
activeSheet.hideRows(122, 67);
} else if (e.value === 'Yes') {
activeSheet.showRows(122, 67);
}
}
从这里 Cell B121 正在工作,但我的 B55 停止工作。有小费吗?谢谢!
最佳答案
你需要在onEdit上合并2个函数,试试
function onEdit(e) {
var activeSheet = e.source.getActiveSheet();
var range = e.range;
if (activeSheet.getName() !== 'Inputs') return;
if (range.getA1Notation() == 'B55'){
if (e.value === 'No') {
activeSheet.hideRows(56, 64);
} else if (e.value === 'Yes') {
activeSheet.showRows(56, 64);
}
}
if (range.getA1Notation() == 'B121') {
if (e.value === 'No') {
activeSheet.hideRows(122, 67);
} else if (e.value === 'Yes') {
activeSheet.showRows(122, 67);
}
}
}
关于javascript - 适用于 Google 表格的 Apps 脚本(onedit 功能),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68132327/