夜雨聆风学习资料网

ARTICLE · 1300901

Excel-别再点半天条件格式!VBA一键批量标色,差异、异常、重复值自动高亮

Excel-别再点半天条件格式!VBA一键批量标色,差异、异常、重复值自动高亮

    手工添加条件格式,数据一改就要重新设置,上千行表格调起来特别磨人。尤其是做数据对比、差异核对的时候,经常要反复新增、删除规则,还容易出现旧格式残留,看着乱糟糟。

    今天这套VBA,延续双文件对比标色的思路,直接用代码控制条件格式:一键清除旧规则、按阈值自动上色、标记重复内容。数据更新之后,点一下宏,颜色立刻刷新,不用再手动去菜单里点点选选。

功能说明

1. 一键清空工作表内所有原有条件格式,避免多条规则冲突、残留
2. 支持自定义区域,按数值阈值标色:大于、小于指定值填充底色
3. 一键高亮区域内重复行/重复单元格
4. 可以按需增删规则,数组处理,大数据量不会卡顿
5. 保留原有单元格底色、字体格式,只增加条件高亮标记

使用说明

- 打开表格,Alt+F11插入模块,粘贴代码
- 改好顶部的参数:目标区域、阈值、颜色
- 运行宏即可;每次更新数据,重新运行一次刷新标记
- 适合:台账差异检查、异常数据预警、重复记录排查、报表快速审数

vba    
Sub 一键条件格式标色()
    Dim ws As Worksheet
    Dim rng As Range
    '=====在这里改参数=====
    Set ws = ActiveSheet       '要处理的工作表
    Set rng = ws.Range("A2:Z1000") '标色区域,按需修改
    Const 阈值上限 As Double = 100
    Const 阈值下限 As Double = 10
    '======================

    '先清除全部旧条件格式,防止规则堆积冲突
    rng.FormatConditions.Delete

    '大于阈值上限 标红色填充
    With rng.FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreater, Formula1:="=" & 阈值上限)
        .Interior.Color = RGB(255, 204, 204)
        .Font.Color = RGB(153, 0, 0)
    End With

    '小于阈值下限 标黄色填充
    With rng.FormatConditions.Add(Type:=xlCellValue, Operator:=xlLess, Formula1:="=" & 阈值下限)
        .Interior.Color = RGB(255, 255, 204)
        .Font.Color = RGB(153, 102, 0)
    End With

    '标记重复值 浅蓝色
    With rng.FormatConditions.Add(Type:=xlDuplicateValues)
        .Interior.Color = RGB(204, 255, 255)
    End With

    MsgBox "标色完成!已清理旧条件格式,异常值、重复值已标记", vbInformation
End Sub

Sub 清除全部条件格式()
    Dim rng As Range
    Set rng = ActiveSheet.UsedRange
    rng.FormatConditions.Delete
    MsgBox "条件格式全部清除", vbInformation
End Sub


拓展玩法

如果你要做两份表差异标色,可以搭配之前双表对比的逻辑:
循环遍历两个区域,数值不一样的单元格单独填充橙色,和上面这套标色代码搭配使用,一份报表同时做到:异常阈值预警 + 跨表差异标记 + 重复标记。
🌹 关注收藏不迷路,专业VBA开发,解放双手提高效率,欢迎咨询。
Excel-VBA-批量重命名文件夹内文件:读取表格新旧文件名,批量修改Excel/图片
Excel VBA|多个文件,批量合并数据导入到当前表
Excel VBA一键按条件追加写入指定工作簿(自动新增行,不覆盖原有数据)
不要再一点点核对考勤!学会这几个函数,半小时工作2分钟做完
告别无效加班!10个职场通用Excel

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料