建议宏在SINGLE列中查找重复项

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中使用条件格式工具匹配.有什么理由吗?

Sid*_*out 6

富兰克林

为什么不用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)

查看快照

在此输入图像描述 希德