2016-09-14 67 views
0

我在列A中將具有以下值; A1:11/5,A2:11/5R,A3:11/6,A4:11/7,A5:11/5 $,A6:11/5根據文本和符號標記單元格值

我想將這些單元標記爲重複第10列如果數字相同而不考慮結束符號:例如:A1,A2,A5,A6是重複的,應在Col J1,J2,J5和J6中標記。

以下代碼僅適用於數字。它不會計算單元格值的結束符號。任何建議來修改代碼以獲得所需的輸出,我們感激。

Sub FindDuplicates() 

Dim LastRow As Long, matchFoundIndex As Long, iCntr As Long 
LastRow = Cells(Rows.Count, "A").End(xlUp).Row 

For iCntr = 1 To LastRow    ' 1 set the start of the dup looks 
    If Cells(iCntr, 1) <> "" Then 
     matchFoundIndex = WorksheetFunction.Match(Cells(iCntr, 1), Range("A1:A" & LastRow), 0) 
     If iCntr <> matchFoundIndex Then 
      Cells(iCntr, 10) = "Duplicate" 
     Else 
      Cells(iCntr, 10) = "E" 
     End If 
    End If 
Next 

End Sub 

謝謝

+0

什麼的Excel版本? – user2676140

+0

@user,它是2007 – Kuma

回答

0

假設,如果它不是一個數字單元格中的最後一個字符應該被忽略:

Sub FindDuplicates() 
    Dim v As Variant 
    Dim LastRow As Long, x As Long 
    LastRow = Cells(Rows.Count, "A").End(xlUp).Row 

    For x = 1 To LastRow       ' 1 set the start of the dup looks 
     If Cells(x, 1) <> "" Then 

      v = IIf(IsNumeric(Right(Cells(x, 1), 1)), Cells(x, 1), Left(Cells(x, 1), Len(Cells(x, 1)) - 1)) 
      Cells(x, "J") = IIf(Application.Match(v, Range("A1:A" & LastRow), 0) > 1, "E", "Duplicate") 

     End If 
    Next 

End Sub 

Find Duplicates

+0

我使用2007年,代碼僅適用於前兩個單元格(A1。A2),是否有任何要更改的內容? – Kuma

+0

我也在使用2007.列的格式是文本嗎?如果您提供下載鏈接,我會爲您工作。 – 2016-09-14 19:41:21

+0

嗨,它是文本格式。我如何添加文件? – Kuma

相關問題