Satura rādītājs
Šī apmācība parādīs, kā kārtot vērtības masīvā VBA
Viendimensiju masīva šķirošana, izmantojot cilpu
Masīva kārtošanai ir nepieciešama neliela datu manipulācija, izmantojot cilpas, mainīgos un pagaidu masīvus.
- Vispirms masīvs jāaizpilda ar savām vērtībām
- Pēc tam jums divreiz jāiziet cilpa! Vienreiz, lai iegūtu vērtību no pašreizējā elementu masīva, un kamēr vēl atrodas šajā cilpā, lai iegūtu nākamā masīva elementa vērtību.
- Pēc tam jums jāsalīdzina elementi - un jāpārvieto otrais uz pirmā pozīciju, ja otrais ir pirms alfabēta PIRMS pirmā.
Zemāk redzamais piemērs parāda šo procedūru.
1234567891011121314151617181920212223 | Sub SortAnArray ()Dim un tik ilgi'Iestatiet masīvuDim strName () Kā variantsDim Temp kā variants'aizpildīt masīvustrName () = masīvs ("Bobs Smits", "Džons Deiviss", "Freds Džonss", "Stīvs Dženkinss", "Bobs Viljamss")'cilpa cauri saites robežai un iegūst vārduJa i = LBound (strName) līdz UBound (strName) - 1'vēlreiz pagrieziet un pārbaudiet, vai nākamais nosaukums ir pirms vai pēc oriģināla alfabētaJa j = i + 1 uz UBound (strName)Ja UCase (strName (i))> UCase (strName (j)) Tad'ja nosaukums jāpārvieto pirms iepriekšējā nosaukuma, pievienojiet to temp masīvamTemp = strName (j)'mainiet nosaukumusstrName (j) = strName (i)strName (i) = tempBeigas JaNākamais jTālāk i'Izvadiet masīvu, izmantojot ziņojumu lodziņuMsgBox Join (strName (), vbCrLf)Beigu apakš |
Ja izpildāt šo procedūru, jūs saņemsit šādu ziņojumu lodziņu.
Varat arī kārtot masīvu citā virzienā - piemēram: Z uz A, mainot šo koda rindu
1 | Ja UCase (strName (i))> UCase (strName (j)) Tad |
uz šo koda rindu
1 | Ja UCase (strName (i)) <UCase (strName (j)) Tad |
Pēc tam jūs saņemsit šādu ziņojumu lodziņu.