VBA rendezési tömb

Ez az oktatóanyag bemutatja, hogyan kell rendezni az értékeket egy tömbben a VBA -ban

Egydimenziós tömb rendezése hurok segítségével

A tömb rendezéséhez némi adatkezelésre van szükség hurkok, változók és ideiglenes tömbök használatával.

  • Először be kell töltenie a tömböt az értékeivel
  • Ezt követően kétszer kell végiggörgetni a tömböt! Egyszer, hogy lekérjen egy értéket az aktuális elemtömbből, és amíg még ebben a ciklusban van, megkapja a tömb következő elemének értékét.
  • Ezután össze kell hasonlítania az elemeket - és a másodikat át kell helyeznie az első pozícióba, ha a második betűrendben van az első előtt.

Az alábbi példa ezt az eljárást szemlélteti.

1234567891011121314151617181920212223 Sub SortAnArray ()Dim i As Long'Állítsa be a tömbötDim strName () VáltozatkéntDim Temp mint változat'töltse ki a tömbötstrName () = tömb ("Bob Smith", "John Davies", "Fred Jones", "Steve Jenkins", "Bob Williams")'hurkolja át az arry határát, és kapja meg a keresztnevetI = LBound (strName) - UBound (strName) - 1'ciklus újra, és ellenőrizze, hogy a következő név betűrendben van -e az eredeti előtt vagy utánJ = i + 1 esetén UBound (strName)Ha UCase (strName (i))> UCase (strName (j)) Akkor'Ha a nevet az előző név elé kell helyezni, adjon hozzá egy temp tömbötHőmérséklet = strName (j)'cserélje ki a neveketstrName (j) = strName (i)strName (i) = HőmVége HaKövetkező jKövetkező i'Adja ki a tömböt egy üzenetmezőn keresztülMsgBox csatlakozás (strName (), vbCrLf)End Sub

Ha ezt az eljárást futtatja, a következő üzenetmezőt kapja.

A tömböt másik irányba is rendezheti - pl .: Z -ből A -ba, ha megváltoztatja ezt a kódsorot

1 Ha UCase (strName (i))> UCase (strName (j)) Akkor

ehhez a kódsorhoz

1 Ha UCase (strName (i)) <UCase (strName (j)) Akkor

Ekkor megkapja a következő üzenetmezőt.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave