Returnera unika objekt med VBA i Microsoft Excel

Anonim

I den här artikeln kommer vi att skapa ett makro för att extrahera unika värden från det definierade intervallet.

Rådata för detta exempel består av dubbletter av landnamn i intervallet A7: A21.

Vi har skapat ”FindUniqueValues” -makro för att extrahera unika värden från det definierade intervallet. Detta makro kan köras genom att klicka på knappen "Skicka". Innan du klickar på knappen "Skicka" måste vi ange adressen för intervallet som innehåller dubblettdata i cellen H9 och adressen till destinationen där utmatningen ska visas.

Logisk förklaring

Makroet "FindUniqueValues" tar två intervallobjekt som inmatningsparametrar. Den första parametern definierar intervallet som innehåller dubblettdata och den andra parametern definierar positionen för startcellen som kommer att innehålla utsignalen. Detta makro kan inte kallas direkt eftersom vi måste ange parametrarna, så vi har skapat det andra makrot "Makro körning" för att kalla makrot.

Makroet "MacroRunning" kallar makroet "FindUniqueValues" med parameterinmatningen av användaren.

Kodförklaring

SourceRange.AdvancedFilter Action: = xlFilterCopy, _

CopyToRange: = TargetCell, Unique: = True

AdvancedFilter -metoden för Range -objekt används för att filtrera eller kopiera data från intervallet baserat på vissa kriterier. För att bara kopiera de unika värdena måste vi ställa in Unik parameter för AdvancedFilter till True.

Följ koden nedan

 Alternativ Explicit Sub FindUniqueValues ​​(SourceRange As Range, TargetCell As Range) 'Använda förskottsfilter för att ta bort unika objekt i källområ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 

Om du gillade den här bloggen, dela den med dina vänner på Facebook. Du kan också följa oss på Twitter och Facebook.

Vi vill gärna höra från dig, låt oss veta hur vi kan förbättra vårt arbete och göra det bättre för dig. Skriv till oss på e -postwebbplatsen