Excel vba循环表

时间:2015-06-23 19:31:11

标签: excel vba loops

我想要做的是循环遍历表格的行,并检查列中的每一行是否有重复。

例如,我将从单元格A2开始,说它的文本值为" CAP"。我想比较一下这个价值" CAP"与该列中的所有其他行。

如果发现重复,我希望它放入专栏重叠" Dupe1"所以两个记录都有相同的编号。

然后它移动到A3并检查该值与该列中的所有其他行。等等。

如果发现更多的傻瓜,那么它们就是名字" Dupe2"," Dupe3"等...

我正在努力弄清楚如何实现这个目标?

1 个答案:

答案 0 :(得分:1)

For Example, you have two columns:

Column A | Dupe 
1 
2 
3 
4 
4 
5 
4

Sub Button1_Click()
    n = ThisWorkbook.Worksheets(1).Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count
    Dim Counter As Integer
    Counter = 1
    Duplicate = 0
        For i = 2 To n
            If Len(Trim(Worksheets(1).Cells(i, 2))) = 0 Then
                For j = i + 1 To n
                    If Worksheets(1).Cells(i, 1) = Worksheets(1).Cells(j, 1) Then
                       Worksheets(1).Cells(i, 2) = "Dupe" + CStr(Counter)
                       Worksheets(1).Cells(j, 2) = "Dupe" + CStr(Counter)
                       Duplicate = 1
                    End If
                Next j
             End If
             If Duplicate = 1 Then
                Counter = Counter + 1
                Duplicate = 0
             End If
        Next i
End Sub