【发布时间】:2019-08-07 11:40:12
【问题描述】:
如何在同一工作簿中的多个工作表中的多个列表中自动检查重复项?
通过为我需要的每个比较设置一个宏,我已设法使其半自动工作。这意味着一个用于查找以下重复值的宏:
Worksheets("All").Range("Annie") and Worksheets("Annie").Range("A:A")
Worksheets("All").Range("Benny") and Worksheets("Benny").Range("A:A")
等等。 等等。
Here is a screenshot that shows where I'm at, and hopefully visualizes what I am trying to do
(安妮去过瑞典和肯尼亚 - 因此这些国家被宏标记为红色) (本尼去过俄罗斯和西班牙) (等等)
只编写一个代码会更有效,它对所有具有Worksheets("All"). 值的列执行此操作我需要能够拥有至少 50 个名称的列(安妮、本尼、查理、丹尼、艾玛、法比安等……)
这可能吗?
到目前为止,这是我的代码(用于“Benny”):
Sub findDuplicatesBenny()
Dim rng1, rng2, cell1, cell2 As Range
Set rng1 = Worksheets("All").Range("Benny")
Set rng2 = Worksheets("Benny").Range("A:A")
For Each cell1 In rng1
If IsEmpty(cell1.Value) Then Exit For
For Each cell2 In rng2
If IsEmpty(cell2.Value) Then Exit For
If cell1.Value = cell2.Value Then
cell1.Interior.ColorIndex = 22
cell1.Interior.Pattern = xlSolid
End If
Next cell2
Next cell1
End Sub
任何帮助将不胜感激!
【问题讨论】:
-
这可以通过条件格式来完成,完全避免使用 VBA。你对此持开放态度吗?
-
嗨@BigBen - 感谢您的回复!当然也愿意学习。我对如何完成这项工作没有偏好。我会选择最优化的任何解决方案。
标签: excel vba duplicates