根据单元格的内容隐藏行 - onEdit 问题 -
Hide Rows Based on Content of a Cell -issue with onEdit-
我正在尝试编辑脚本,但是 运行 遇到一些问题:
function onEdit(e) {
Logger.log('e.value: ' + e.value);
var cellEdited = e.range.getA1Notation();
Logger.log('cellEdited: ' + cellEdited);
if (cellEdited === "A10" && e.value !== "CTR") {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var theSheet = ss.getActiveSheet();
theSheet.hideRows(12, 2);
};
if (cellEdited === "A10" && e.value === "CTR") {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var theSheet = ss.getActiveSheet();
theSheet.showRows(12, 2);
}
}
正如您从 post 中看到的那样,我的目的是根据单元格 A10 中的输入隐藏第 12 行和第 13 行。只有当 A10 为 "CTR"
时,第 12 和 13 行才应该可见
我的问题是 A10 充满了 vlookup 函数,根据我当前的脚本结果,函数 "onedit" 似乎不是由 vlookup 的变化触发的。
所以我希望你们能帮助我解决 2 个解决方案中的 1 个。
1 让它检查单元格 a10,即使它被公式改变了。
2. 由于单元格 B10 的个人更改 "edit"(B10 与 B10&C10&E10 合并),vlookup 正在更改,所以我认为脚本可以更改为对 B10 进行编辑,但要检查内容 A10?
此外,我如何指定它不是活动的 sheet 而是一个特定的 sheet?
看看这是否可行(但首先将 Sheetname 替换为您希望脚本运行的 sheet/tab 的名称)。
function onEdit(e) {
var sheet = e.source.getActiveSheet()
if (sheet.getName() !== 'Sheetname' || e.range.getA1Notation() !== 'B10') return;
e.range.offset(0, -1).getValue() === 'CTR' ? sheet.showRows(12, 2) : sheet.hideRows(12, 2)
}
我正在尝试编辑脚本,但是 运行 遇到一些问题:
function onEdit(e) {
Logger.log('e.value: ' + e.value);
var cellEdited = e.range.getA1Notation();
Logger.log('cellEdited: ' + cellEdited);
if (cellEdited === "A10" && e.value !== "CTR") {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var theSheet = ss.getActiveSheet();
theSheet.hideRows(12, 2);
};
if (cellEdited === "A10" && e.value === "CTR") {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var theSheet = ss.getActiveSheet();
theSheet.showRows(12, 2);
}
}
正如您从 post 中看到的那样,我的目的是根据单元格 A10 中的输入隐藏第 12 行和第 13 行。只有当 A10 为 "CTR"
时,第 12 和 13 行才应该可见我的问题是 A10 充满了 vlookup 函数,根据我当前的脚本结果,函数 "onedit" 似乎不是由 vlookup 的变化触发的。
所以我希望你们能帮助我解决 2 个解决方案中的 1 个。
1 让它检查单元格 a10,即使它被公式改变了。
2. 由于单元格 B10 的个人更改 "edit"(B10 与 B10&C10&E10 合并),vlookup 正在更改,所以我认为脚本可以更改为对 B10 进行编辑,但要检查内容 A10?
此外,我如何指定它不是活动的 sheet 而是一个特定的 sheet?
看看这是否可行(但首先将 Sheetname 替换为您希望脚本运行的 sheet/tab 的名称)。
function onEdit(e) {
var sheet = e.source.getActiveSheet()
if (sheet.getName() !== 'Sheetname' || e.range.getA1Notation() !== 'B10') return;
e.range.offset(0, -1).getValue() === 'CTR' ? sheet.showRows(12, 2) : sheet.hideRows(12, 2)
}