Sortering af tekstdata i alfabetisk rækkefølge ved hjælp af VBA i Microsoft Excel

Indholdsfortegnelse

I denne artikel vil vi oprette en brugerdefineret funktion til at sortere data i alfabetisk rækkefølge.

Rå data består af tilfældige navne, som vi vil sortere.

Logisk forklaring

Vi har oprettet en "SortString" brugerdefineret funktion til at sortere data alfabetisk. Det tager kildeområde og position som input og returnerer værdier baseret på den angivne position. Denne funktion opretter først et sorteret array, og derefter bruges den angivne position til at udtrække den nødvendige værdi fra det sorterede array.

Kode forklaring

UBound (værdier)

Ovenstående funktion bruges til at få optælling af antal værdier i arrayet.

værdier (j) = værdier (j - 1)

Ovenstående kode bruges til at flytte værdier i arrayet med et indeks.

Følg venligst nedenstående for koden

 Mulighed Eksplicit funktion SortString (kilde som område, position som lang) Som streng 'Deklarerende variabler Dim Cell As Range Dim værdier () Som streng Dim i Som Long, j Som Long Dim Udført som boolske ReDim værdier (1 til 1)' Looping through alle celler i området For hver celle i kilde Udført = Falsk i = 1 'Oprettelse af en matrix med sorteret navn Do If Cell.Value <værdier (i) Så Udført = True Else i = i + 1 Afslut hvis loop mens udført = Falsk Og i <= UBound (værdier) ReDim Bevar værdier (1 Til UBound (værdier) + 1) Hvis i <= UBound (værdier) Så 'Justering af værdi i sorteret navnesæt For j = UBound (værdier) Til i + 1 Trin - 1 værdier (j) = værdier (j - 1) Næste j Slut Hvis værdier (i) = Celleværdi Næste celle 'Tildeling af værdi for påkrævet position SortString = værdier (position + 1) Slutfunktion 

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