神奇的条件格式,也许是个BUG

2024-03-12 08:18
文章标签 条件 格式 bug 神奇 也许

本文主要是介绍神奇的条件格式,也许是个BUG,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

工作中有如图所示数据,设置了简单的条件格式,如果单元格中包含Excel,那么该单元格字体为红色,如下图所示。

在这里插入图片描述

现在希望突出显示关键字Excel,将其字体颜色设置为绿色。手工操作并复杂,按F2键,单元格进入编辑状态,选中关键字,然后设置字体颜色,易如反掌,如下图所示。
在这里插入图片描述

如果有大量的数据需要进行这个操作,那么就太耗费时间了,为啥不用VBA来实现,这个代码想必也不会太复杂。

示例代码如下。

Sub Demo1()strKey = "Excel"For Each Rng In [a1].CurrentRegioniLoc = InStr(Rng.Value, strKey)If iLoc > 0 ThenRng.Characters(Start:=iLoc, Length:=Len(strKey)).Font.Color = vbGreenEnd IfNext
End Sub

【代码解析】
第3行代码循环遍历单元格。
第4行代码查找关键字位置。
第6行代码设置关键字字体颜色为绿色。

运行代码,A1单元格就像中了邪,没有任何反应,理想很丰满现实很骨干。
在这里插入图片描述

经过反复尝试,发现只要关键字在单元格的起始位置,那么这个代码就无法改变关键字的字体颜色,只能认为这是Excel的一个BUG。

既然找到了规律,那么可以用变通的方式来实现。

Sub Demo2()strKey = "Excel"For Each Rng In [a1].CurrentRegionRng.Value = Chr(32) & Rng.ValueiLoc = InStr(Rng.Value, strKey)If iLoc > 0 ThenRng.Characters(Start:=1, Length:=0).Font.ColorIndex = xlAutomaticRng.Characters(Start:=iLoc, Length:=Len(strKey)).Font.Color = vbGreenEnd IfNext
End Sub

【代码解析】
第4行代码在单元格中增加一个前导空格。
第7行代码看似无用,但是没有此行代码,A1单元格仍然无法实现关键字变色的效果。

运行代码,如下图所示,虽然不完美,但是基本上实现要求。
在这里插入图片描述

在试图恢复单元格内容时,发现了一个有趣的现象。

Sub RemoveSpace()For Each Rng In [a1].CurrentRegionRng.Value = Trim(Rng)Next
End Sub

代码非常简单,就是移除单元格中的前导空格,但是关键字高亮的效果也就跟随消失。

在这里插入图片描述


如果大家也遇到类似的问题,那么拿去用吧,不要问为什么,我也不知道 😛
如果某位高手知道其中的原因,烦请在评论区留言赐教,拜谢!

这篇关于神奇的条件格式,也许是个BUG的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/800651

相关文章

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题

《Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题》:本文主要介绍Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录一、前言二、系统架构检测三、卸载旧版 Go四、下载并安装正确版本五、配置环境变量六、验证安装七、常见

使用Python开发Markdown兼容公式格式转换工具

《使用Python开发Markdown兼容公式格式转换工具》在技术写作中我们经常遇到公式格式问题,例如MathML无法显示,LaTeX格式错乱等,所以本文我们将使用Python开发Markdown兼容... 目录一、工具背景二、环境配置(Windows 10/11)1. 创建conda环境2. 获取XSLT

Java中Switch Case多个条件处理方法举例

《Java中SwitchCase多个条件处理方法举例》Java中switch语句用于根据变量值执行不同代码块,适用于多个条件的处理,:本文主要介绍Java中SwitchCase多个条件处理的相... 目录前言基本语法处理多个条件示例1:合并相同代码的多个case示例2:通过字符串合并多个case进阶用法使用

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

SpringBoot条件注解核心作用与使用场景详解

《SpringBoot条件注解核心作用与使用场景详解》SpringBoot的条件注解为开发者提供了强大的动态配置能力,理解其原理和适用场景是构建灵活、可扩展应用的关键,本文将系统梳理所有常用的条件注... 目录引言一、条件注解的核心机制二、SpringBoot内置条件注解详解1、@ConditionalOn

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown