Excel:大范围使用UDF公式通过条件格式破坏电子表格

在运行Excel 2019的Windows 10 Pro 64 v 1903中,我想使用一个函数来覆盖条件格式,如MS论坛主题Manual override of conditional formatting.中所述。所以我写了函数:

Option Explicit

Public Function bNoCondlColorFill(rCell As Range) As Boolean

bNoCondlColorFill = (Cells(rCell.Row,rCell.Column).Interior.ColorIndex <> xlColorIndexNone)

End Function

然后,以条件格式,我创建了一条新规则:

=bNoCondlColorFill(J4)

并将其应用于该区域:

=$J$4:$BX$51

这样做之后,我发现电子表格的行为异常。发生的第一件事是,当我选择一行并按shift-delete时,工作簿关闭而没有提示保存。

为了进一步测试,我做了以下工作:

  • 创建了一个新的工作簿。
  • 添加了具有上述功能的模块。
  • 在范围A1:BZ50的所有单元格中输入文本“测试”
  • 使用公式=bNoCondlColorFill(A1)设置条件格式以应用于未设置格式且未选中“真时停止”的=$A$1
  • 保存了工作簿。

我没有发现该工作簿有任何问题。然后,我尝试进行以下更改:

  • 将单元格的内容从“测试”更改为55个“测试”副本(即“测试测试测试...”,长275个字符)。
  • 将“应用于”范围从=$A$1更改为=$A$1:$BZ$50

当我对测试工作簿进行任何更改时,我没有发现任何问题。但是,当我同时进行了这些更改并保存文件,重新打开文件并尝试再次保存时,我收到消息“计算不完整。在保存之前重新计算?”如果单击“是”,则会反复收到相同的消息。状态栏中没有任何指示它正在计算。所以有些事情搞砸了。

是否有一种方法可以使此条件格式公式在较大(但不是很大)范围内工作?

hnxxck 回答:Excel:大范围使用UDF公式通过条件格式破坏电子表格

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3169862.html

大家都在问