Pole triedenia VBA

Tento tutoriál ukáže, ako triediť hodnoty v poli vo VBA

Triedenie jednorozmerného poľa pomocou slučky

Triedenie poľa si vyžaduje trochu manipulácie s údajmi pomocou slučiek, premenných a dočasných polí.

  • Najprv musíte pole vyplniť svojimi hodnotami
  • Potom sa musíte dvakrát prejsť v poli! Akonáhle získate hodnotu z aktuálneho poľa prvkov, a keď ste ešte v tejto slučke, získate hodnotu ďalšieho prvku v poli.
  • Potom musíte prvky porovnať - a presunúť ten druhý na pozíciu prvého, ak je druhý abecedne PRED prvým.

Nasledujúci príklad ukazuje tento postup.

1234567891011121314151617181920212223 Sub SortAnArray ()Dim i As Long„Nastavte poleDim strName () ako variantDim Temp As Variant“naplňte polestrName () = Pole („Bob Smith“, „John Davies“, „Fred Jones“, „Steve Jenkins“, „Bob Williams“)Prejdite cez hranicu poľa a získajte krstné menoPre i = LBound (strName) Na UBound (strName) - 1'znova prejdite a skontrolujte, či je nasledujúci názov abecedne pred alebo za pôvodnýmPre j = i + 1 do UBound (strName)Ak UCase (strName (i))> UCase (strName (j)) Potom„ak je potrebné názov presunúť pred predchádzajúci názov, pridajte ho do dočasného poľaTeplota = strName (j)“prehodiť menástrName (j) = strName (i)strName (i) = teplotaKoniec AkĎalej jĎalej i'Výstup poľa cez pole so správouPripojenie MsgBox (strName (), vbCrLf)Koniec pod

Ak spustíte tento postup, zobrazí sa nasledujúce okno so správou.

Pole môžete zoradiť aj iným smerom - napr .: Z až A zmenou tohto riadka kódu

1 Ak UCase (strName (i))> UCase (strName (j)) Potom

na tento riadok kódu

1 Ak UCase (strName (i)) <UCase (strName (j)) Potom

Potom sa zobrazí nasledujúce okno so správou.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave