Sortarea datelor text în ordine alfabetică utilizând VBA în Microsoft Excel

Anonim

În acest articol, vom crea o funcție personalizată pentru a sorta datele în ordine alfabetică.

Datele brute constau din nume aleatorii pe care dorim să le sortăm.

Explicație logică

Am creat funcția personalizată „SortString” pentru a sorta datele alfabetic. Acesta ia gama și poziția sursei ca intrări și returnează valori pe baza poziției specificate. Această funcție creează mai întâi o matrice sortată și apoi poziția specificată este utilizată pentru a extrage valoarea necesară din matricea sortată.

Explicarea codului

UBound (valori)

Funcția de mai sus este utilizată pentru a obține numărul de valori din matrice.

valori (j) = valori (j - 1)

Codul de mai sus este utilizat pentru a deplasa valorile din matrice cu un singur index.

Vă rugăm să urmați codul de mai jos

 Opțiune Funcție explicită SortString (Sursă ca interval, poziție atât de lungă) Ca șir „Variabile declarante Dim celulă ca interval Valori de dim () Ca șir Dim i Ca lung, j Ca lung Dim Făcut ca valori booleene ReDim (1 la 1)„ Buclare prin toate celulele din intervalul pentru fiecare celulă din sursă Efectuat = Fals i = 1 'Crearea unui tablou de nume sortat Do If Cell.Value <valori (i) Apoi Efectuat = Adevărat Altele i = i + 1 Sfârșit Dacă Buclă În timp ce Efectuat = Fals Și i <= UBound (valori) ReDim Preserve valori (1 la UBound (valori) + 1) Dacă i <= UBound (valori) Apoi 'Ajustarea valorii în matricea de nume sortată Pentru j = UBound (valori) La i + 1 Pas - 1 valori (j) = valori (j - 1) Următorul j Sfârșit Dacă valorile (i) = Celula.Valoare Celula următoare 'Atribuirea valorii poziției solicitate SortString = valori (Poziție + 1) Funcție de sfârșit 

Dacă ți-a plăcut acest blog, distribuie-l prietenilor tăi de pe Facebook. De asemenea, ne puteți urmări pe Twitter și Facebook.

Ne-ar plăcea să aflăm de la dvs., să ne anunțați cum putem îmbunătăți munca noastră și o putem îmbunătăți. Scrieți-ne pe site-ul de e-mail