2015-06-23 187 views
-1

我想要做的是循環遍歷表的行,並檢查列中的每一行重複。Excel vba通過表循環

例如,我將從單元格A2開始,假設它的文本值爲「CAP」。我想將該值「CAP」與該列中的所有其他行進行比較。

如果它發現一個重複我想要它放在列Dupe1「Dupe1」,所以這兩個記錄具有相同的倍數。

然後它移動到A3並檢查該列中所有其他行的值。依此類推。

如果發現了更多的受騙者那麼他們的名字「Dupe2」,「Dupe3」等等

我在努力弄清楚如何實現這一目標?

+1

你已經試過了什麼? –

+1

使用'= COUNTIF()'公式的幫助列? –

+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