求VBA代码批量为表格每列重复值设置高亮
批量高亮Excel表格每列重复值的VBA代码方案
针对数千列表格的重复值批量高亮需求,以下是高效的VBA实现方案,比手动操作条件格式效率提升数倍:
核心VBA代码
Sub HighlightDuplicatesPerColumn() Dim ws As Worksheet Dim lastCol As Long Dim lastRow As Long Dim col As Long ' 指定要处理的工作表,可替换为具体表名如Sheets("数据表格") Set ws = ActiveSheet ' 获取表格最后一列的列号 lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column ' 关闭屏幕刷新,大幅提升大表格处理速度 Application.ScreenUpdating = False ' 遍历每一列 For col = 1 To lastCol ' 获取当前列最后一行有数据的行号 lastRow = ws.Cells(ws.Rows.Count, col).End(xlUp).Row ' 仅处理包含至少2行数据的列(避免无数据列的无效操作) If lastRow >= 2 Then ' 为当前列添加重复值条件格式 With ws.Range(ws.Cells(1, col), ws.Cells(lastRow, col)).FormatConditions.AddUniqueValues .DupeUnique = xlDuplicate ' 设置高亮填充色,可自行修改RGB值调整颜色 .Interior.Color = RGB(255, 199, 206) End With End If Next col ' 恢复屏幕刷新 Application.ScreenUpdating = True MsgBox "批量高亮重复值完成!", vbInformation End Sub
使用步骤
- 打开目标Excel文件,按
Alt + F11打开VBA编辑器 - 右键左侧工程窗口中的目标工作簿,选择「插入」→「模块」
- 将上述代码粘贴到模块编辑区
- 返回Excel界面,按
Alt + F8调出宏窗口,选择HighlightDuplicatesPerColumn后点击「运行」
自定义说明
- 若要修改高亮颜色,替换代码中
RGB(255, 199, 206)即可,例如黄色为RGB(255,255,0) - 若需固定处理某张工作表,将
Set ws = ActiveSheet替换为Set ws = Sheets("你的工作表名称")
内容的提问来源于stack exchange,提问作者Dou
相关产品推荐
相关产品推荐

