Sortera textdata i alfabetisk ordning med VBA i Microsoft Excel

Anonim

I den här artikeln kommer vi att skapa en anpassad funktion för att sortera data i alfabetisk ordning.

Raw data består av slumpmässiga namn som vi vill sortera.

Logisk förklaring

Vi har skapat "SortString" anpassad funktion för att sortera data alfabetiskt. Det tar källintervall och position som ingångar och returnerar värden baserat på den angivna positionen. Denna funktion skapar först en sorterad array och sedan används den angivna positionen för att extrahera det önskade värdet från den sorterade arrayen.

Kodförklaring

UBound (värden)

Ovanstående funktion används för att få antalet värden i matrisen.

värden (j) = värden (j - 1)

Ovanstående kod används för att flytta värden inom arrayen med ett index.

Följ koden nedan

 Alternativ Explicit Function SortString (Source As Range, Position As Long) As String 'Declaring variables Dim Cell As Range Dim values ​​() As String Dim i As Long, j As Long Dim Done As Boolean ReDim values ​​(1 To 1)' Looping through alla celler i intervallet För varje cell i källan Klar = Falskt i = 1 'Skapa en uppsättning sorterade namn Gör Om Cell.Värde <värden (i) Sedan Klar = Sann else i = i + 1 Avsluta om loop medan gjort = Falskt Och i <= UBound (värden) ReDim Preserve -värden (1 till UBound (värden) + 1) Om i <= UBound (värden) Sedan 'Justera värde i sorterat namnmatris För j = UBound (värden) Till i + 1 Steg - 1 värden (j) = värden (j - 1) Nästa j Slut Om värden (i) = Cell.Value Nästa cell 'Tilldela värde för önskad position SortString = värden (position + 1) Slutfunktion 

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