Az adatok véletlenszerű rendezése az Excel VBA programban - Egyszerű Excel makrók

Tartalomjegyzék

Az alábbiakban megnézzük a programot Excel VBA hogy véletlenszerűen rendezi az adatokat (ebben a példában véletlenszerűen rendezi a neveket).

Helyzet:

1. Először négy változót deklarálunk. Egy String típusú változót nevezünk TempString -nek, egy Integer típusú változót TempInteger -nek, egy Integer típusú változót i -nek, és egy Integer típusú változót j -nek.

Dim tempString mint karakterlánc, tempInteger mint egész, i mint egész, j mint egész

2. A B oszlopba 5 véletlenszerű számot írunk (minden névhez egyet). Ehhez a RandBetween munkalapfüggvényt használjuk.

I = 1 és 5 között
Cella (i, 2). Érték = WorksheetFunction.RandBetween (0, 1000)
Következő i

Eddigi eredmény:

Az egyes nevek melletti számokat fogjuk használni a nevek rendezéséhez. Az első név a legalacsonyabb számmal, a név a második legalacsonyabb számmal, második stb.

3. Kettős hurkot indítunk.

I = 1 és 5 között
J = i + 1 -től 5 -ig

4. Adja hozzá a következő kód sort:

Ha cellák (j, 2) .Érték <cellák (i, 2) .Érték akkor

Példa: ha i = 1 és j = 2, Wendyt és Richardot hasonlítjuk össze. Mivel Richardnak kevesebb a száma, felcseréljük Wendyt és Richardot. Richard az első helyen áll. Ha i = 1 és j = 3, Richardot és Joostot hasonlítjuk össze. A Joost magasabb számmal rendelkezik, így nem történik semmi. Így az Excel VBA a legkisebb számmal rendelkező nevet kapja az első helyen. I = 2 esetén az Excel VBA a második pozícióban a második legalacsonyabb számmal rendelkező nevet kapja, stb.

5. Ha igaz, felcseréljük a neveket.

tempString = Cellak (i, 1). Érték
Cella (i, 1). Érték = Cella (j, 1). Érték
Cella (j, 1). Érték = tempString

6. És felcseréljük a számokat.

tempInteger = Cellak (i, 2). Érték
Cella (i, 2). Érték = Cella (j, 2). Érték
Cella (j, 2). Érték = tempInteger

7. Ne felejtse el bezárni az If utasítást.

Vége Ha

8. Ne felejtse el bezárni a két hurkot.

 Következő j
Következő i

9. Tesztelje a programot.

Eredmény:

Megjegyzés: hozzáadhat egy sort, amely törli a B oszlopban lévő számokat. Még szebb, ha minden név számát egy tömbbe helyezi, így nem kerülnek számok a munkalapra. Szemléltetés céljából azonban úgy döntöttünk, hogy az értékeket a lapra helyezzük.

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

wave wave wave wave wave