【发布时间】:2017-07-06 05:01:05
【问题描述】:
我正在尝试为 Excel 项目添加现有 VBA 代码。 我正在寻找一个 VBA 来查找列中的重复值,结果将打印在另一列中。例如,如果 User1 在一个列中输入了两次,则第二次输入 - 下一列中将出现“重复”。
Sub DuplicateFinder()
Dim LastRow As Long
Dim matchFoundIndex As Long
Dim iCntr As Long
LastRow = Range("A65000").End(xlUp).Row
For iCntr = 1 To LastRow
If Cells(iCntr, 1) <> "" Then
matchFoundIndex = WorksheetFunction.Match(Cells(iCntr, 1), Range("A1:A" & LastRow), 0)
If iCntr <> matchFoundIndex Then
Cells(iCntr, 2) = "Duplicate"
End If
End If
Next
End Sub
是否可以修改它,然后当发现重复时,它将检查另一列是否存在两个值之间的差异。
如果我有一个:
A | B | C | D
user1 11
user2 11
user1 duplicate 12 "error"
如果两个值之间的差为 =,我希望宏说“错误”
【问题讨论】:
-
你必须使用VBA吗?一个简单的公式就可以解决问题。告诉我,我会发布的。
-
如果 A 列中有两个以上的 user1 实例会怎样?应该比较哪两个值?
-
@Pucho 如果你能用公式做到这一点,请这样做。我没想到可以这样。
-
@J. Garth 如果有多个实例,它应该比较最后找到的重复值和原始值。