In diesem Artikel erstellen wir eine benutzerdefinierte Funktion, um eindeutige Werte aus dem definierten Bereich zu finden.

Die Rohdaten für dieses Beispiel bestehen aus doppelten Einträgen des Ländernamens im Bereich A8: A21.

ArrowRawData

Logische Erklärung

Wir haben eine benutzerdefinierte Funktion „UniqueItem“ erstellt, um die eindeutigen Werte aus dem Bereich zu extrahieren. Diese Funktion verwendet zwei Parameter als Eingabe.

Der erste Parameter ist der Bereich, der aus den doppelten Daten besteht, und der zweite Parameter definiert die Indexnummer eines eindeutigen Werts in der eindeutigen Sammlung.

Diese Funktion gibt den eindeutigen Wert aus dem Bereich basierend auf der Indexnummer zurück. Der zweite Parameter ist ein optionaler Parameter. Wenn der zweite Parameter nicht angegeben ist, gibt die Funktion die Anzahl der eindeutigen Werte im definierten Bereich zurück.

Wenn der für den zweiten Parameter definierte Wert größer als die Anzahl der eindeutigen Werte im Bereich ist, wird der letzte eindeutige Wert von der Funktion zurückgegeben.

ArrowOutput

Code Erklärung

On Error Resume Next für jeden CellValue in InputRange CUnique.Add CellValue.Value, CStr (CellValue.Value)

[_GoBack] # Next On Error GoTo 0 Der obige Code wird zum Erstellen eines Sammlungsobjekts verwendet, das einen eindeutigen Wert aus dem definierten Bereich enthält. „On Error“ -Anweisungen werden verwendet, um Fehler zu behandeln. Wenn Code versucht, doppelte Werte in die Sammlung aufzunehmen, generiert die Sammlung einen Fehler.

Bitte folgen Sie unten für den Code

Option Explicit

Function UniqueItem(InputRange As Range, Optional ItemNo As Integer = 0) As Variant

Dim CellValue As Range

Dim CUnique As New Collection

Dim UCount As Integer

On Error Resume Next

'Adding unique items to collection from defined range

For Each CellValue In InputRange

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

Next

On Error GoTo 0

'Getting count of unique item in the collection

UCount = CUnique.Count

If ItemNo = 0 Then

'Returning count of unique item

UniqueItem = UCount

ElseIf ItemNo <= UCount Then

'Returning unique value based on item number

UniqueItem = CUnique(ItemNo)

Else

'Returning last unique value

UniqueItem = CUnique(UCount)

End If

End Function

Wenn dir dieser Blog gefallen hat, teile ihn mit deinen Freunden auf Facebook und Facebook.

Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]