Rientro oggetti unici che utilizzano VBA in Microsoft Excel
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 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 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]