VBA kārtošanas masīvs

Šī 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.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave