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.