VBA niz sortiranja

Ovaj će vodič pokazati kako sortirati vrijednosti u nizu u VBA -i

Sortiranje jednodimenzionalnog niza pomoću petlje

Sortiranje niza zahtijeva malo manipulacije podacima pomoću petlji, varijabli i privremenih polja.

  • Prvo morate popuniti niz svojim vrijednostima
  • Zatim morate dvaput proći kroz niz! Jednom da biste dobili vrijednost iz trenutnog niza elemenata, a dok je još u toj petlji, da biste dobili vrijednost sljedećeg elementa u nizu.
  • Zatim morate usporediti elemente - i pomaknuti drugi na položaj prvog ako je drugi abecednim redom PRIJE prvog.

Primjer u nastavku prikazuje ovaj postupak.

1234567891011121314151617181920212223 Podrazvrstani niz ()Dim i As Long'Postavite nizDim strName () Kao varijantaDim Temp kao varijanta'popunite nizstrName () = Array ("Bob Smith", "John Davies", "Fred Jones", "Steve Jenkins", "Bob Williams")'prođite kroz granicu arryja i dobijte imeZa i = LBound (strName) Za UBound (strName) - 1'ponovno prođite i provjerite je li sljedeće ime abecedno prije ili iza originalaZa j = i + 1 prema UBound (strName)Ako UCase (strName (i))> UCase (strName (j)) Zatim'ako je potrebno premjestiti naziv ispred prethodnog imena, dodajte ga u privremeni nizTemp = strName (j)'zamijeni imenastrName (j) = strName (i)strName (i) = TempZavrši akoSljedeće jSljedeći i'Iznesite niz kroz okvir s porukomMsgBox Pridruživanje (strName (), vbCrLf)Kraj podm

Ako pokrenete ovaj postupak, dobit ćete sljedeći okvir s porukom.

Niz možete sortirati i u drugom smjeru - npr. Od Z do A promjenom ove linije koda

1 Ako UCase (strName (i))> UCase (strName (j)) Zatim

u ovaj red koda

1 Ako je UCase (strName (i)) <UCase (strName (j)) Tada

Tada ćete dobiti sljedeći okvir s porukom.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave