Find unikke værdier ved hjælp af VBA i Microsoft Excel

Anonim

I denne artikel vil vi oprette brugerdefinerede funktioner til at finde unikke værdier fra det definerede område.

Rådata for dette eksempel består af dubletter af landenavne i intervallet A8: A21.

Logisk forklaring

Vi har oprettet en brugerdefineret funktion "UniqueItem" for at udtrække de unikke værdier fra området. Denne funktion tager to parametre som input. Første parameter er det område, der består af de dublerede data, og den anden parameter definerer indeksnummeret for en unik værdi i den unikke samling.

Denne funktion returnerer den unikke værdi fra intervallet baseret på indeksnummeret. Anden parameter er en valgfri parameter, hvis anden parameter ikke er angivet, returnerer funktionen antallet af unik værdi i det definerede område.

Hvis værdien, der er defineret for den anden parameter, er større end antallet af unikke værdier i intervallet, returneres den sidste unikke værdi af funktionen.

Kode forklaring

Ved fejl Genoptag næste

For hver CellValue i InputRange

CUnique.Add CellValue.Value, CStr (CellValue.Value)

Næste

Ved fejl GoTo 0

Ovenstående kode bruges til at oprette samlingsobjekt, som vil indeholde en unik værdi fra det definerede område. "On Error" -udsagn bruges til at håndtere fejl, da når kode forsøger at sætte dublerede værdier i samlingen, genererer indsamling en fejl.

Følg venligst nedenstående for koden

 Option Eksplicit funktion UniqueItem (InputRange As Range, Valgfri ItemNo As Integer = 0) As Variant Dim CellValue As Range Dim CUnique As New Collection Dim UCount As Integer On Error Resume Next 'Tilføjelse af unikke elementer til samling fra defineret område For hver CellValue I InputRange CUnique .Add CellValue.Value, CStr (CellValue.Value) Next On Error GoTo 0 'Henter optælling af entydigt element i samlingen UCount = CUnique.Count If ItemNo = 0 Herefter' Returnering af unikt element UniqueItem = UCount ElseIf ItemNo <= UCount Derefter 'Returnerer unik værdi baseret på varenummer UniqueItem = CUnique (ItemNo) Else' Returnerer sidste unikke værdi UniqueItem = CUnique (UCount) End If End -funktion 

Hvis du kunne lide denne blog, kan du dele den med dine venner på Facebook. Du kan også følge os på Twitter og Facebook.

Vi vil meget gerne høre fra dig, lad os vide, hvordan vi kan forbedre vores arbejde og gøre det bedre for dig. Skriv til os på e -mail -stedet