如果从范围 D1:D9 中进行选择,我希望单元格 A1 在为空时闪烁;如果从范围 D10:D18 中进行选择,则单元格 A10 在为空时闪烁。我应该如何调整我正在使用的公式?
function onEdit() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("A1");
var rangeList = sheet.getRangeList(["D1:D8", "D10:D18"]);
var originalColor = range.getBackground(); //It gets the original color
for (var i = 0; i < 10; i++) {
if (range.getValue() === "") {
rangeList.setBackground("red");
SpreadsheetApp.flush();
range.setBackground(originalColor); //It keeps the original color
SpreadsheetApp.flush();
Utilities.sleep(1000)
}
}
}
示例文件是Flash Cell Test
闪烁的目的是为了让用户注意特定的单元格。 当他在 D 列(从两个不同的范围)中进行选择时,请注意不要忘记分别为特定单元格 A1 和 A10 赋值。
您的代码多次访问工作表,这会降低性能。为什么要使用祝酒词而不是眨眼来吸引用户的注意力? 试试这个代码:
function onEdit(e) {
var sh = e.range.getSheet();
var ss = e.source;
var range = e.range;
var a1 = sh.getRange('A1').getValue();
var a10 = sh.getRange('A10').getValue();
if (range.getColumn() !== 4) return;
if (a1 !== '' && a10 !== '') return;
ss.toast('First fill out cells A1 and A10.', 'Attention', 3);
}