Nižšie sa pozrieme na program v Excel VBA že náhodne triedi údaje (v tomto prípade náhodne triedi mená).
Situácia:
1. Najprv deklarujeme štyri premenné. Jednu premennú typu String nazývame TempString, jednu premennú typu Integer nazývame TempInteger, jednu premennú typu Integer nazývame i a jednu premennú typu Integer nazývame j.
Dim tempString As String, tempInteger As Integer, i As Integer, j As Integer
2. Do stĺpca B napíšeme 5 náhodných čísel (pre každé meno jedno). Na tento účel používame funkciu pracovného hárka RandBetween.
Pre i = 1 až 5
Bunky (i, 2). Hodnota = WorksheetFunction.RandBetween (0, 1000)
Ďalej i
Doterajší výsledok:
Na triedenie mien použijeme čísla vedľa každého mena. Meno s najnižším číslom ako prvé, meno s druhým najnižším číslom, druhé atď.
3. Začíname s dvojitou slučkou.
Pre i = 1 až 5
Pre j = i + 1 až 5
4. Pridajte nasledujúci riadok kódu:
Ak bunky (j, 2). Hodnota <bunky (i, 2). Hodnota potom
Príklad: pre i = 1 a j = 2 sa porovnajú Wendy a Richard. Pretože Richard má nižšie číslo, vymeníme Wendy a Richarda. Richard je teraz na prvej pozícii. Pre i = 1 a j = 3 sa porovnajú Richard a Joost. Joost má vyššie číslo, takže sa nič nestane. Excel VBA tak získa meno s najnižším číslom na prvej pozícii. Pre i = 2 dostane Excel VBA názov s druhým najnižším číslom na druhej pozícii atď.
5. Ak je to pravda, názvy si vymeníme.
tempString = Bunky (i, 1). Hodnota
Bunky (i, 1). Hodnota = bunky (j, 1). Hodnota
Bunky (j, 1). Hodnota = tempString
6. A prehodíme si čísla.
tempInteger = Bunky (i, 2). Hodnota
Bunky (i, 2). Hodnota = bunky (j, 2). Hodnota
Bunky (j, 2). Hodnota = tempInteger
7. Nezabudnite zatvoriť príkaz If.
Koniec Ak
8. Nezabudnite uzavrieť dve slučky.
Ďalej j
Ďalej i
9. Otestujte program.
Výsledok:
Poznámka: Môžete pridať riadok, ktorý vymaže čísla v stĺpci B. Je ešte krajšie umiestniť čísla každého mena do poľa, takže na pracovný hárok nebudú umiestnené žiadne čísla. Na ilustračné účely sme sa však rozhodli umiestniť hodnoty na hárok.