Returner unikke varer ved hjælp af VBA i Microsoft Excel

Indholdsfortegnelse

I denne artikel vil vi oprette en makro til at udtrække unikke værdier fra det definerede område.

Rådata for dette eksempel består af dubletter af landenavne i området A7: A21.

Vi har oprettet "FindUniqueValues" -makro for at udtrække unikke værdier fra det definerede område. Denne makro kan køres ved at klikke på knappen "Send". Inden du klikker på knappen "Send", skal vi angive adressen på det område, der indeholder dublerede data i cellen H9 og adressen på den destination, hvor output skal vises.

Logisk forklaring

Makroen "FindUniqueValues" tager to områdeobjekter som inputparametre. Første parameter definerer det område, der indeholder de dublerede data, og den anden parameter definerer placeringen af ​​startcellen, som vil indeholde output. Denne makro kan ikke kaldes direkte, da vi er nødt til at specificere parametrene, så vi har oprettet den anden makro "MacroRunning" for at kalde makroen.

Makroen "MacroRunning" kalder makroen "FindUniqueValues" med parameterens input fra brugeren.

Kode forklaring

SourceRange.AdvancedFilter Action: = xlFilterCopy, _

CopyToRange: = TargetCell, Unique: = True

AdvancedFilter -metode til områdeobjekt bruges til at filtrere eller kopiere data fra området baseret på et bestemt kriterium. For kun at kopiere de unikke værdier skal vi indstille Unique parameter for AdvancedFilter til True.

Følg venligst nedenstående for koden

 Option Explicit Sub FindUniqueValues ​​(SourceRange As Range, TargetCell As Range) 'Brug af forhåndsfilter til udtrækning af unikke elementer i kildeområdet SourceRange.AdvancedFilter Action: = xlFilterCopy, _ CopyToRange: = TargetCell, Unique: = True End Sub Sub MacroRunning ()' Opkald til FindUniqueValues ​​-makro Opkald FindUniqueValues ​​(Range (Range ("H9"). Værdi), Range (Range ("H10"). Value)) End Sub 

Hvis du kunne lide denne blog, kan du dele den med dine venner på Facebook. Du kan også følge os på Twitter og Facebook.

Vi vil meget gerne høre fra dig, lad os vide, hvordan vi kan forbedre vores arbejde og gøre det bedre for dig. Skriv til os på e -mail -stedet

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave