You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Mac版Microsoft Excel中F9无法刷新公式的问题求助

Mac版Microsoft Excel中F9无法刷新公式的问题求助

嘿,我来帮你捋捋这个问题~

首先,你的GetColorCount应该是自定义的VBA函数吧?这就是F9刷不动的核心原因:Excel默认的计算机制(包括按F9刷新)不会主动触发自定义函数重新计算,尤其是当函数依赖的是单元格颜色这种非数值属性的时候——Excel的计算引擎只盯着单元格里的数值、公式内容变化,颜色改变它根本不认为是“需要重新计算”的触发条件,按F9自然也没用。

给你几个解决办法,按需选择:

  • 更彻底的手动刷新快捷键:Mac版Excel里,试试按 Cmd + Option + Shift + F9,这个是强制重新计算所有工作表的所有公式,包括自定义函数,比单纯的F9威力大得多。也可以通过菜单栏操作:点击「公式」>「计算选项」>「重新计算所有工作表」来触发。

  • 让自定义函数变成“易失性”:打开你的VBA编辑器,找到GetColorCount函数,在函数开头加一行代码:

    Application.Volatile True
    

    加了这行之后,这个函数会变成“易失性”函数——每次Excel触发计算(比如按F9、修改其他单元格内容)时,它都会重新计算。不过要注意,易失性函数会增加Excel的计算负担,如果你的工作表公式很多,可能会变慢一点。另外,你的公式里重复调用了两次GetColorCount,可以考虑用一个辅助单元格先算出结果,再引用,这样能减少一次计算量。

  • 绑定一键刷新的宏:如果希望颜色变化后能快速手动刷新,也可以写个简单的宏:

    Sub RefreshColorFormula()
        ' 把下面的单元格地址换成你公式所在的单元格
        Range("B1").Calculate
    End Sub
    

    写完后把这个宏加到工具栏或者右键菜单里,点一下就能直接刷新目标单元格了,比回车更方便。

备注:内容来源于stack exchange,提问作者JannyGetYourGun

火山引擎 最新活动