首页 > 解决方案 > VBA 和条件格式的异常 - Excel 错误?

问题描述

我在 Excel 中有一个问题,如果单元格中的字符子集具有不同的颜色,则条件格式会产生不同的结果,具体取决于是否

我在 Windows 10 上的 Office 365 中使用 Excel,截至今天已完全更新。

在下面的屏幕截图中,单元格 A1:A6 具有条件格式规则

=NOT(ISBLANK(B1))

显示单元格格式结果的屏幕截图

在单元格 A2 和 A3 中,我通过手动编辑将前三个字符设置为红色。在 A3 中,触发条件格式时,前三个字符保持红色。

在单元格 A4 中,我使用宏将前三个字符设置为红色文本

Sub RedFirst()
    ActiveCell.Characters(1, 3).Font.Color = vbRed
End Sub

触发条件格式时,不会得到与 A3 相同的结果,而是前三个字符变为绿色(条件格式)而不是保持红色,其余文本保持黑色而不是绿色,尽管所有文本都带有下划线条件格式。

在单元格 A5 中,我使用宏将第二个和第三个字符设置为红色文本

Sub RedNext()
    ActiveCell.Characters(2, 2).Font.Color = vbRed
End Sub

现在,当触发条件格式时,使用宏设置颜色的字符保持红色,与我手动更改文本颜色时相同。单元格 A6 显示了条件格式的结果,而没有对任何文本应用不同的颜色。

我认为 A3 和 A4 应该看起来一样,手动更改文本颜色或使用 VBA 应该没有什么区别。我尝试了不同的方法来使用 VBA 更改前 n 个字符的文本颜色,但总是得到相同(奇数)的结果。

有没有办法用 VBA 设置前n 个字符的颜色而不会得到奇怪的条件格式结果?或者这真的应该如何工作?对我来说,它看起来像是一个需要修复的程序错误。

标签: excelvbaconditional-formatting

解决方案


推荐阅读