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.

ArrowMain

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 dati duplicati nella cella H9 e l’indirizzo della destinazione in cui dovrebbe apparire l’output.

ArrowOutput

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 in quanto dobbiamo specificare i parametri, quindi abbiamo creato la seconda macro “MacroRunning” per chiamare la macro.

La macro “MacroRunning” chiama la macro “FindUniqueValues” con il parametro immesso dall’utente.

Spiegazione del codice

SourceRange.AdvancedFilter Azione: = 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.

Segui sotto per il codice

Option Explicit

Sub FindUniqueValues(SourceRange As Range, TargetCell As Range)

'Using advance filter for extacting unique items in the source range

SourceRange.AdvancedFilter Action:=xlFilterCopy, _

CopyToRange:=TargetCell, Unique:=True



End Sub

Sub MacroRunning()

'Calling FindUniqueValues macro

Call FindUniqueValues(Range(Range("H9").Value), Range(Range("H10").Value))

End Sub

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]