Náhodně třídit data v aplikaci Excel VBA - snadná makra aplikace Excel

Obsah

Níže se podíváme na program v Excel VBA že náhodně třídí data (v tomto případě náhodně seřadí jména).

Situace:

1. Nejprve deklarujeme čtyři proměnné. Jednu proměnnou typu String nazýváme TempString, jednu proměnnou typu Integer nazýváme TempInteger, jednu proměnnou typu Integer nazýváme i a jednu proměnnou typu Integer nazýváme j.

Dim tempString As String, tempInteger As Integer, i As Integer, j As Integer

2. Do sloupce B napíšeme 5 náhodných čísel (pro každé jméno jedno). K tomu používáme funkci pracovního listu RandBetween.

Pro i = 1 až 5
Buňky (i, 2) .Hodnota = WorksheetFunction.RandBetween (0, 1000)
Příště já

Dosavadní výsledek:

K seřazení jmen použijeme čísla vedle každého jména. Jméno s nejnižším číslem jako první, jméno s druhým nejnižším číslem, druhé atd.

3. Začínáme s dvojitou smyčkou.

Pro i = 1 až 5
Pro j = i + 1 až 5

4. Přidejte následující řádek kódu:

Pokud buňky (j, 2). Hodnota <buňky (i, 2). Hodnota pak

Příklad: pro i = 1 a j = 2 jsou porovnávány Wendy a Richard. Protože Richard má nižší číslo, vyměňujeme Wendy a Richarda. Richard je nyní na první pozici. Pro i = 1 a j = 3 se porovnají Richard a Joost. Joost má vyšší číslo, takže se nic neděje. Tímto způsobem aplikace Excel VBA získá jméno s nejnižším číslem na první pozici. Pro i = 2 získá Excel VBA název s druhým nejnižším číslem na druhé pozici atd.

5. Pokud je to pravda, prohodíme jména.

tempString = Buňky (i, 1). Hodnota
Buňky (i, 1). Hodnota = buňky (j, 1). Hodnota
Buňky (j, 1). Hodnota = tempString

6. A vyměníme si čísla.

tempInteger = Buňky (i, 2). Hodnota
Buňky (i, 2). Hodnota = buňky (j, 2). Hodnota
Buňky (j, 2). Hodnota = tempInteger

7. Nezapomeňte zavřít příkaz If.

Konec If

8. Nezapomeňte uzavřít dvě smyčky.

 Další j
Příště já

9. Otestujte program.

Výsledek:

Poznámka: můžete přidat řádek, který odstraní čísla ve sloupci B. Je ještě hezčí umístit čísla každého jména do pole, takže na váš list nebudou umístěna žádná čísla. Pro ilustraci jsme se však rozhodli umístit hodnoty na list.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave