fra*_*lin 4 sorting excel vba excel-vba
发现了很多涉及在两列中查找重复项的问题:
即 MS Excel如何创建一个宏来查找重复项并突出显示它们?和excel标记重复值
但是,我正在尝试调整代码以用于在一列中查找重复项.例如,这是一个数据集:
第1栏
Foo
Bar
23
23
12
foo
Bar
bart
这就是我现在正在使用的:
Function warnDupes()
Dim lastRow As Long
Dim dict As Object
' Let Col be the column which warnDupes operates on.
Dim Col As String
Col = "A"
Set dict = CreateObject("scripting.dictionary")
lastRow = range(Col & Rows.Count).End(xlUp).Row
On Error Resume Next
For i = lastRow To 1 Step -1
If dict.Exists(range(Col & i).value) = True Then
'range("Y" & i).EntireRow.Delete
MsgBox ("Hmm...Seems to be a duplicate of " & range(Col & i).value & _
" in Cell " & Col & i)
End If
dict.Add range(Col & i).value, 1
Next
End Function
Run Code Online (Sandbox Code Playgroud)
到目前为止,我有一些代码可以完成90%的工作.23和23匹配.酒吧和酒吧相匹配.所以代码匹配字符串和Ints.但我希望宏能够将Foo和foo匹配为副本.如何让Excel忽略大小写?
这个问题(用于检测Excel表格中的重复项的功能)似乎相关但我无法调整代码或理解作者所做的事情.对代码,解释或建议的任何改进都将非常感激.
谢谢.
更新:
刚注意到一些非常奇怪的东西.
数据:
IB6061
IC6071
是否使用我的宏或如果我在Excel中使用条件格式工具匹配.有什么理由吗?
富兰克林
为什么不用Excel公式呢?
如果值在Col A中,则在Cell B1中键入它并将其复制下来?
=IF(COUNTIF(A:A,A1)>1,"It is a duplicate","It is not a duplicate")
Run Code Online (Sandbox Code Playgroud)
它也适用于像"Foo"和"foo"这样的案例
然后,您还可以使用上述公式使用条件格式来突出显示重复项?
跟进
数据:
IB6061
IC6071
是否使用我的宏或如果我在Excel中使用条件格式工具匹配.
有什么理由吗?
你用的是什么公式?
这适合我.突出显示Col A然后使用此公式
=COUNTIF(A:A,A1)>1
Run Code Online (Sandbox Code Playgroud)
查看快照
希德