Trovare valori univoci utilizzando VBA in Microsoft Excel

Anonim

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.

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 che consiste dei dati duplicati e il secondo parametro definisce il numero di indice di un valore univoco nella raccolta univoca.

Questa funzione restituisce il valore univoco dall'intervallo in base al numero di indice. Il secondo parametro è un parametro facoltativo, se il secondo parametro non è specificato, la funzione restituisce il numero di valori univoci nell'intervallo definito.

Se il valore definito per il secondo parametro è maggiore del numero di valori univoci nell'intervallo, la funzione restituisce l'ultimo valore univoco.

Spiegazione del codice

In caso di errore Riprendi Avanti

Per ogni CellValue in InputRange

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

Prossimo

In caso di errore Vai a 0

Il codice sopra viene utilizzato per creare un oggetto di raccolta che conterrà un valore univoco dall'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.

Si prega di seguire sotto per il codice

 Opzione Funzione esplicita 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 'Aggiunta di elementi univoci alla raccolta dall'intervallo definito per ogni CellValue In InputRange CUnique .Add CellValue.Value, CStr(CellValue.Value) Next On Error GoTo 0 'Ottenimento del conteggio degli elementi univoci nella raccolta UCount = CUnique.Count If ItemNo = 0 Then 'Restituzione del conteggio degli elementi univoci UniqueItem = UCount ElseIf ItemNo <= UCount Quindi 'Restituzione di un valore univoco in base al numero dell'articolo UniqueItem = CUnique(ItemNo) Else 'Restituzione dell'ultimo valore univoco UniqueItem = CUnique(UCount) End If End Function 

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

Ci piacerebbe avere tue notizie, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici al sito di posta elettronica