Restituisci elementi univoci utilizzando VBA in Microsoft Excel

Anonim

In questo articolo, creeremo una macro per estrarre valori univoci dall'intervallo definito.

I dati grezzi per questo esempio sono costituiti da voci duplicate di nomi di paesi nell'intervallo A7:A21.

Abbiamo creato la macro "FindUniqueValues" per estrarre valori univoci dall'intervallo definito. Questa macro può essere eseguita facendo clic sul pulsante "Invia". Prima di fare clic sul pulsante "Invia", dobbiamo specificare l'indirizzo dell'intervallo che contiene i dati duplicati nella cella H9 e l'indirizzo della destinazione in cui dovrebbe apparire l'output.

Spiegazione logica

La macro "FindUniqueValues" accetta due oggetti intervallo come parametri di input. Il primo parametro definisce l'intervallo che contiene i dati duplicati e il secondo parametro definisce la posizione della cella iniziale che conterrà l'output. Questa macro non può essere chiamata direttamente poiché dobbiamo specificare i parametri, quindi abbiamo creato la seconda macro "MacroRunning" per chiamare la macro.

La macro “MacroRunning” richiama la macro “FindUniqueValues” con il parametro inserito dall'utente.

Spiegazione del codice

SourceRange.AdvancedFilter Action:=xlFilterCopy, _

CopyToRange:=TargetCell, Unique:=True

Il metodo AdvancedFilter dell'oggetto Range viene utilizzato per filtrare o copiare i dati dall'intervallo in base a determinati criteri. Per copiare solo i valori univoci, dobbiamo impostare il parametro Unique di AdvancedFilter su True.

Si prega di seguire sotto per il codice

 Option Explicit Sub FindUniqueValues(SourceRange As Range, TargetCell As Range) 'Utilizzo del filtro avanzato per estrarre elementi univoci nell'intervallo di origine SourceRange.AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=TargetCell, Unique:=True End Sub Sub MacroRunning() ' Chiamata della macro FindUniqueValues ​​Chiama FindUniqueValues(Range(Range("H9").Value), Range(Range("H10").Value)) End Sub 

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