这是什么神仙操作?只需1秒,Excel自动把重复数据全标红.
大家好,我是每天跟Excel打交道的办公族。上周五下午,财务小美在群里哀嚎:“救命!这两张表对了我一下午,眼睛都要瞎了,还是没找出哪些交易是重复的!”紧接着,HR阿强也发来一张密密麻麻的花名册:“你们看看这个员工名单,同一个名字出现了三次,我都不知道该信哪条记录……”那一刻,我突然意识到:重复数据,简直是职场人的集体噩梦……于是我用Excel VBA写了个超简单的“标记重复数据”,今天就把这个保姆级教程分享给你,按下面几个步骤,两分钟就能搞定~📌 如何操作excel实现
创建宏
复制粘贴魔法代码
执行宏
选择需要标记重复数据的范围
1. 创建宏
2. 复制粘贴魔法代码
Sub 高亮重复数据() Dim rng As Range, cell As Range Dim dict As Object Dim cellValue As Variant ' 让用户选择区域,处理取消情况 On Error Resume Next Set rng = Application.InputBox("请选择要检查重复的区域:", Type:=8) On Error GoTo 0 If rng Is Nothing Then MsgBox "您取消了选择。", vbExclamation Exit Sub End If ' 清除原有填充色 rng.Interior.ColorIndex = xlNone ' 创建字典用于统计次数 Set dict = CreateObject("Scripting.Dictionary") ' 第一次循环:统计每个值的出现次数(忽略错误值) For Each cell In rng cellValue = cell.Value If Not IsError(cellValue) Then If dict.exists(cellValue) Then dict(cellValue) = dict(cellValue) + 1 Else dict.Add cellValue, 1 End If End If Next cell ' 第二次循环:标记出现次数大于1的单元格 For Each cell In rng cellValue = cell.Value If Not IsError(cellValue) Then If dict(cellValue) > 1 Then cell.Interior.Color = RGB(255, 204, 204) ' 浅红色 End If End If Next cell MsgBox "重复数据已标红!", vbInformationEnd Sub
3. 执行宏
Excel会自动弹出一个对话框,显示重复数据已标红!💬 结语
说实话,写这个宏的初衷,纯粹是想让自己少加点班。没想到分享出去之后,收到了好多留言说“太好用了”“求多分享一些这种实用小工具”。
其实职场里的很多烦恼,往往就差一个“偷懒”的思路。与其埋头苦干,不如花10分钟研究一下怎么让Excel帮你干活。这个宏我已经用了两年,每次运行都觉得自己赚到了时间。
如果你试了之后有什么问题,或者想让我帮你定制其他功能,直接在评论区留言。我不保证秒回,但保证每个都会看。
如果觉得有用,欢迎点赞、在看、分享给身边常用跟Excel打交道的朋友~