Returner unike varer ved hjelp av VBA i Microsoft Excel

Innholdsfortegnelse

I denne artikkelen vil vi lage en makro for å trekke ut unike verdier fra det definerte området.

Rådata for dette eksemplet består av dupliserte oppføringer av landnavn i området A7: A21.

Vi har laget "FindUniqueValues" -makro for å trekke ut unike verdier fra det definerte området. Denne makroen kan kjøres ved å klikke på "Send" -knappen. Før du klikker på "Send" -knappen, må vi spesifisere adressen til området som inneholder dupliserte data i cellen H9 og adressen til destinasjonen der utgangen skal vises.

Logisk forklaring

Makroen "FindUniqueValues" tar to rekkeviddeobjekter som inndataparametere. Den første parameteren definerer området som inneholder duplikatdataene, og den andre parameteren definerer posisjonen til startcellen som skal inneholde utgangen. Denne makroen kan ikke kalles direkte ettersom vi må spesifisere parametrene, så vi har opprettet den andre makroen "Makro kjøring" for å kalle makroen.

Makroen "MacroRunning" kaller makroen "FindUniqueValues" med parameteren som er angitt av brukeren.

Kode forklaring

SourceRange.AdvancedFilter Action: = xlFilterCopy, _

CopyToRange: = TargetCell, Unique: = True

AdvancedFilter -metoden for Range -objekt brukes til å filtrere eller kopiere data fra området basert på visse kriterier. For å kopiere bare de unike verdiene må vi sette Unique parameter for AdvancedFilter til True.

Følg koden nedenfor

 Option Explicit Sub FindUniqueValues ​​(SourceRange As Range, TargetCell As Range) 'Bruke forhåndsfilter for å fjerne unike elementer i kildeområdet SourceRange.AdvancedFilter Action: = xlFilterCopy, _ CopyToRange: = TargetCell, Unique: = True End Sub Sub MacroRunning ()' Calling FindUniqueValues ​​macro Makro FindUniqueValues ​​(Range (Range ("H9"). Value), Range (Range ("H10"). Value)) End Sub 

Hvis du likte denne bloggen, del den med vennene dine på Facebook. Du kan også følge oss på Twitter og Facebook.

Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre arbeidet vårt og gjøre det bedre for deg. Skriv til oss på e -post

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave