Třídění textových dat v abecedním pořadí pomocí VBA v Microsoft Excelu

Anonim

V tomto článku vytvoříme vlastní funkci pro řazení dat v abecedním pořadí.

Nezpracovaná data se skládají z náhodných jmen, která chceme třídit.

Logické vysvětlení

Vytvořili jsme vlastní funkci „SortString“ pro třídění dat podle abecedy. Jako vstupy bere zdrojový rozsah a pozici a vrací hodnoty na základě zadané polohy. Tato funkce nejprve vytvoří seřazené pole a poté se zadaná pozice použije k extrahování požadované hodnoty z seřazeného pole.

Vysvětlení kódu

UBound (hodnoty)

Výše uvedená funkce se používá k získání počtu hodnot v poli.

hodnoty (j) = hodnoty (j - 1)

Výše uvedený kód slouží k posunu hodnot v rámci pole o jeden index.

Pro kód prosím postupujte níže

 Volba Explicitní funkce SortString (zdroj jako rozsah, pozice jako dlouhá) jako řetězec 'Deklarace proměnných Dim buňka jako rozsah Dim hodnoty () Jako řetězec Dim i jako dlouhý, j jako dlouhý Dim Hotovo jako booleovské hodnoty ReDim (1 až 1)' všechny buňky v rozsahu Pro každou buňku ve zdroji Hotovo = False i = 1 'Vytvoření pole seřazeného názvu Do If Cell.Value <hodnoty (i) Then Done = True Else i = i + 1 End If Loop While Done = False And i <= UBound (hodnoty) ReDim Zachovat hodnoty (1 až UBound (hodnoty) + 1) Pokud i <= UBound (hodnoty) Pak 'Úprava hodnoty v tříděném názvu pole Pro j = UBound (hodnoty) až i + 1 Krok - 1 hodnoty (j) = hodnoty (j - 1) Další j Konec If hodnoty (i) = buňka.hodnota další buňka 'Přiřazení hodnoty požadované polohy SortString = hodnoty (pozice + 1) Koncová funkce 

Pokud se vám tento blog líbil, sdílejte ho se svými přáteli na Facebooku. Také nás můžete sledovat na Twitteru a Facebooku.

Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit naši práci a zlepšit ji pro vás. Napište nám na e -mail