Náhodne zoraďte údaje v programe Excel VBA - ľahké makrá programu Excel

Obsah

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.

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

wave wave wave wave wave