我将以示例开始我的问题,否则将很难解释。循环列时忽略其他单元格的值VBA EXCEL
A B C D E (ID)
1 word letter 1
test blabla
other
2 word letter 2
number
3 test true 3
4 other false 4
5 word letter Yes 5
6 word letter Yes 6
7 test letter 7
目标是什么?
如果我试着用文字来解释目标,这将很难理解;这也很难解释:)无论如何,我还添加了我的代码,如果你对VBA很好,你会更好地理解代码,然后再看看文本。如果一个值(在这个例子中:字)也在其他行中,那么我们需要检查C列,并且如果列C中有一个值我们在C列中找到多于一次(在这个例子中:字母),我们需要重新检查,如果在A列中该值也出现多次。
所以我已经做了一个SUB,它工作! :)但不是如果有一个单元格中有更多的值。因此,在例子中,当仅存在1在细胞中的值,如在第6行7 &,柱d返回:YES
这是我的代码为止。
Sub duplicates()
Dim source As Range
Dim source2 As Range
For Each source In Range("A1", Range("A" & Rows.Count).End(xlUp))
If source.Value <> "" Then
For Each source2 In Range("A1", Range("A" & Rows.Count).End(xlUp))
If source.Value = source2.Value And source.Offset(0, 4).Value <> source2.Offset (0, 4).Value Then
If source.Offset(0, 2).Value = source2.Offset(0, 2).Value Then
source.Offset(0, 3) = "Yes"
End If
End If
Next source2
End If
Next source
End Sub
所以,我们应该回到:是在1行& 2为好。希望你明白我的目标。 希望有人能帮助。
'A1'中'word''test'与'other'之间有什么样的字符?有空格或换行符吗? – 2013-03-14 16:37:07
数据是导入的,我想这是一个ALT输入 – user2156096 2013-03-14 21:14:23