我相信你的目标如下。
修改点:
通过这个流程,GetCellColorCode可以刷新自定义功能。
用法:
要使用此方法,请执行以下流程。
1. 准备脚本。
请将以下脚本复制并粘贴到电子表格的脚本编辑器中并保存。
// I added this script.
function onChange(e) {
if (e.changeType == "FORMAT") {
var formula = "=GetCellColorCode";
var tempFormula = "=sample";
var sheet = e.source.getActiveSheet();
sheet.createTextFinder(`^\\${formula}`).matchFormulaText(true).useRegularExpression(true).replaceAllWith(tempFormula);
sheet.createTextFinder(`^\\${tempFormula}`).matchFormulaText(true).useRegularExpression(true).replaceAllWith(formula);
}
}
// This is your script.
function GetCellColorCode(input) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var cell = ss.getRange(input);
var result = cell.getBackground();
return result
}
- 在此示例中,背景单元格更改的活动工作表中的 cusrom 公式
GetCellColorCode被刷新。
2. 安装 OnChange 触发器以onChange运行。
请将 OnChange 触发器安装到onChange. 参考
3.设置自定义公式。
请将自定义公式=GetCellColorCode("A1")放在单元格“B1”中。在这种情况下,当单元格“A1”具有默认背景颜色时,#ffffff将显示在自定义函数的单元格“B1”中。
4. 测试脚本。
请更改“A1”的背景颜色。这样,函数onChange由 OnChange 触发器运行。并且,自定义函数被刷新,然后,单元格“B1”的值被改变。
作为演示,当使用上述流程时,得到以下结果。

笔记:
- 在此示例中,它假设您的自定义函数的函数名称是
GetCellColorCode. 所以当你修改它时,请同时修改上面的示例脚本。请注意这一点。
参考: