ExcelVBA运用Excel的【条件格式】(二)

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ExcelVBA运用Excel的【条件格式】(二) |
| 前面知识点回顾 1. 访问 FormatConditions 集合 Range.FormatConditions 2. 添加条件格式 FormatConditions.Add 方法 语法 表达式。添加 (类型、 运算符、 Expression1、 Expression2) 3. 修改或删除条件格式 4. 清除所有条件格式 |

一、下面我们可以应用宏录制功能

【问题】查找包含"飞狐外传"的单元格显示的自定义格式

操作试一下

得到代码如下

sql 复制代码
Sub 宏4()
'
' 宏4 宏
'
    Range("A1:F36").Select
    Selection.FormatConditions.Add Type:=xlTextString, String:="飞狐外传", _
        TextOperator:=xlContains
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
        .Color = -16383844
        .TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 13551615
        .TintAndShade = 0
End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub

二、学习相关知识

可以看到是几个参数:

Type:=***,String:=***,TextOperator:=***

网站查询一下

三、下面我们自己进行相关的修改及优化

(1)【问题】查找包含"飞狐外传"的单元格显示的自定义格式

效果先看图

修改完成代码如下

php 复制代码
Sub HighlightCellsContainingText飞狐外传()
    Dim ws As Worksheet
    Dim searchText As String
    Dim lastRow As Long, lastCol As Long
    Dim cell As Range
    ' 设置工作表
    Set ws = ActiveSheet
    ' 设置要搜索的文本
    searchText = "飞狐外传"   ' 修改为你需要搜索的字符
    ' 清除之前的条件格式
    ws.Cells.FormatConditions.Delete
    ' 添加新的条件格式
    With ws.UsedRange.Cells.FormatConditions.Add(Type:=xlTextString, String:=searchText, TextOperator:=xlContains)
        .Interior.Color = RGB(255, 0, 0)                       ' 设置为红色背景
        .StopIfTrue = False
    End With
    MsgBox "所有包含 '" & searchText & "' 的单元格已被高亮显示。", vbInformation
End Sub

继续拓展一下功能

(2)【问题】查找开头为文字'开头'两个字的单元格显示自定义格式

看效果图

代码如下

properties 复制代码
Sub HighlightCellsContainingText开头文字()
    Dim ws As Worksheet
    Dim searchText As String
    Dim cell As Range
    ' 设置工作表
    Set ws = ActiveSheet
    ' 设置要搜索的文本
    searchText = "开头"
    ' 清除之前的条件格式
    ws.Cells.FormatConditions.Delete
    ' 添加新的条件格式
    With ws.UsedRange.Cells.FormatConditions.Add(Type:=xlTextString, String:=searchText, TextOperator:=xlBeginsWith)
        .Interior.Color = RGB(10, 255, 0) '设置为xx背景
        .StopIfTrue = False
    End With
    MsgBox "'开头'为" & searchText & "' 的单元格已被高亮显示。", vbInformation
End Sub

如果你想要其他功能就自己可以拓展

如:

(3)结尾是"***"文字的情况

(4)不包含'***'文字的情况


如果你在此学习到东西,请转发给大家免费学习

相关推荐
IT_陈寒6 分钟前
SpringBoot自动配置坑了我一周,原来问题这么蠢!
前端·人工智能·后端
cesium vue11 分钟前
nginx 流媒体配置
运维·nginx
木心术120 分钟前
GitHub Actions自动化运维实战:从CI/CD到全链路DevOps
运维·自动化·github
糯米导航20 分钟前
实践教程|搭建电商 AI 无限画布,实现百款商品主图自动化批量生成
运维·人工智能·自动化
kyriewen23 分钟前
我review了一份Vibe Coding写的前端代码——能跑,但5个地方迟早要命
前端·javascript·ai编程
朴马丁1 小时前
从制造到智造:PLM如何赋能企业研发创新
大数据·运维·人工智能·食品行业·流程行业plm·化工新材料行业·新能源材料行业
REDcker1 小时前
Cesium三维WebGIS入门详解
前端·gis·web·cesium·webgis
爱小黄1 小时前
使用docker搭建集群-使用 Docker 搭建 KingbaseES 集群
运维·docker·容器
0暗影流光01 小时前
十倍效能提升——Web 基础研发体系的建立
前端
前端一课1 小时前
用Agent Skill重构代码:300行缩至30行的实战教程
前端