Är inte Christians metod enklare? Eller fanns det inte i Excel 2007?
Funktionen du kopierat bordse fungera utmärkt om kolumnen bara inehåller det du vill kolla
Om jag behövde ett makro skullle jag kolla i markeringen istället för en bestämd kolumn (du markerar alltså B2 till B144 innan du kör makrot) . Och du kan hålla det riktigt enkelt genom att låta makrot skriva in en excelformel till höger om markeringen som kollar efter dubletter. Då blir det dynamiskt och trevligt. Dessutom bara en rad.
Sub Kortare()
Selection.Offset(0, 1).FormulaR1C1 = "=IF(COUNTIF(" & Selection.Address(ReferenceStyle:=xlR1C1) & ",RC[-1])>1,""Dubblett"","""")"
End Sub
Om du inte vill ha kvar formlerna kan du helt enkelt lägga till en rad där du kopierar in formelvärdet när formeln har räknat färdigt:
Sub DödaFormler()
Selection.Offset(0, 1).FormulaR1C1 = "=IF(COUNTIF(" & Selection.Address(ReferenceStyle:=xlR1C1) & ",RC[-1])>1,""Dubblett"","""")"
Selection.Offset(0, 1).Value = Selection.Offset(0, 1).Value
End Sub
Som överkurs kan du fundera på när du vill ha den här koden (hårdkodad till B2:B144)
Sub annorlunda()
Range("C2:C144").FormulaR1C1 = _
"=IF(COUNTIF(R2C2:R144C2,RC[-1])=1,""unik"",""nr:""&COUNTIF(R2C2:RC[-1],RC[-1]))"
' Range("C2:C144") = Range("C2:C144").Value
End Sub
Sub dbltNr()
Range("C2:C144").FormulaR1C1 = _
"=IF(COUNTIF(R2C2:R144C2,RC[-1])=1,0,COUNTIF(R2C2:RC[-1],RC[-1]))"
' Range("C2:C144") = Range("C2:C144").Value
End Sub