In questo articolo creeremo una funzione personalizzata per trovare valori univoci dall’intervallo definito.

I dati grezzi per questo esempio sono costituiti da voci duplicate del nome del paese nell’intervallo A8: A21.

ArrowRawData

Spiegazione logica

Abbiamo creato una funzione personalizzata “UniqueItem” per estrarre i valori univoci dall’intervallo. Questa funzione accetta due parametri come input.

Il primo parametro è l’intervallo costituito dai dati duplicati e il secondo parametro definisce il numero di indice di un valore univoco nella raccolta univoca.

Questa funzione restituisce il valore univoco dell’intervallo basato sul numero di indice. Il secondo parametro è un parametro facoltativo, se il secondo parametro non è specificato, la funzione restituisce il numero di valore univoco nell’intervallo definito.

Se il valore definito per il secondo parametro è maggiore del numero di valori univoci nell’intervallo, l’ultimo valore univoco viene restituito dalla funzione.

ArrowOutput

Spiegazione del codice

In caso di errore, riprendi dopo per ogni CellValue in InputRange CUnique.Add CellValue.Value, CStr (CellValue.Value)

[_GoBack] # Next On Error GoTo 0 Il codice precedente viene utilizzato per creare un oggetto di raccolta che conterrà un valore univoco dell’intervallo definito. Le istruzioni “On Error” vengono utilizzate per gestire gli errori, poiché quando il codice tenta di inserire valori duplicati nella raccolta, la raccolta genererà un errore.

Segui sotto per il codice

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

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.

Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]