Sortering av tekstdata i alfabetisk rekkefølge ved hjelp av VBA i Microsoft Excel

Innholdsfortegnelse

I denne artikkelen vil vi lage en tilpasset funksjon for å sortere data i alfabetisk rekkefølge.

Rådata består av tilfeldige navn som vi ønsker å sortere.

Logisk forklaring

Vi har laget "SortString" tilpasset funksjon for å sortere data alfabetisk. Den tar kildeområde og posisjon som innganger, og returnerer verdier basert på den angitte posisjonen. Denne funksjonen oppretter først en sortert matrise, og deretter brukes den angitte posisjonen til å trekke ut den nødvendige verdien fra den sorterte matrisen.

Kode forklaring

UBound (verdier)

Funksjonen ovenfor brukes til å få tellingen av antall verdier i matrisen.

verdier (j) = verdier (j - 1)

Koden ovenfor brukes til å skifte verdier i matrisen med en indeks.

Følg koden nedenfor

 Alternativ Eksplisitt Funksjon SortString (Kilde Som Område, Posisjon Som Lang) Som Streng 'Deklarerende variabler Dim Celle Som Område Dimverdier () Som String Dim i Som Lang, j Som Lang Dim Utført Som boolske ReDim -verdier (1 til 1)' Looping through alle celler i området For hver celle i kilde Ferdig = Falsk i = 1 'Opprette en rekke sorterte navn Do If Cell.Value <verdier (i) Deretter Ferdig = True Else i = i + 1 Slutt hvis sløyfe mens du er ferdig = Falsk Og i <= UBound (verdier) ReDim Preserve -verdier (1 til UBound (verdier) + 1) Hvis i <= UBound (verdier) Så 'Justering av verdi i sortert navnesort For j = UBound (verdier) Til i + 1 Trinn - 1 verdier (j) = verdier (j - 1) Neste j Slutt Hvis verdier (i) = Cell.Value Next Cell 'Tildele verdi for nødvendig posisjon SortString = verdier (posisjon + 1) Sluttfunksjon 

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