excel - VBA 和条件格式的异常 - Excel 错误?
问题描述
我在 Excel 中有一个问题,如果单元格中的字符子集具有不同的颜色,则条件格式会产生不同的结果,具体取决于是否
- 颜色是通过手动编辑或使用 VBA 应用的
- 如果与VBA一起应用,彩色字符范围是否包括单元格中的第一个字符
我在 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 个字符的颜色而不会得到奇怪的条件格式结果?或者这真的应该如何工作?对我来说,它看起来像是一个需要修复的程序错误。
解决方案
推荐阅读
- bash - 递归提取并附加扩展?
- sql - SQL:如何检查付款记录中的重叠和漏洞
- c - 在 C 中创建管道时不理解 for 循环
- python - 有没有办法在 Google Cloud Function 上创建 Python 脚本,将文件从存储桶下载到本地计算机?
- html - 如何禁用我的 HTML 类的 Visual Studio Code 自动修剪空白?
- authentication - PWA 的 API 身份验证
- hadoop - hadoop 集群中的 Namenode 以及 fsimage 和 Edit_logs 概念
- javascript - Firestore 将字段批量添加到数组
- laravel - Laravel - 如何为编辑视图刀片创建分层下拉列表
- javascript - 如何使用 javascript 在日历中管理 30 天和 2 月的月份