Számok rendezése az Excel VBA programban - Egyszerű Excel makrók

Tartalomjegyzék

Az alábbiakban megnézzük a programot Excel VBA hogy számokat rendez.

Helyzet:

Helyezzen el egy parancsgombot a munkalapon, és adja hozzá a következő kódsorokat:

1. Először három Integer típusú változót és egy Range objektumot deklarálunk.

Dim i Integer, j Mint Integer, temp As Integer, rng As Range

2. Inicializáljuk a Range objektum rng -t az A oszlopban található számokkal. Ehhez a CurrentRegion tulajdonságot használjuk. A CurrentRegion akkor hasznos, ha előre nem ismerjük a tartomány pontos határait (szeretnénk, ha ez a program 9 számra, de 90 számra is működne).

Set rng = Range ("A1"). CurrentRégió

3. Két For Next hurkot kezdünk.

I = 1 -hez Rng.Szám
Ha j = i + 1 Rng.Szám

Magyarázat: rng. A szám 9, tehát az első két kódsor i .

4. A számok megfelelő rendezéséhez összehasonlítjuk az első számot a következő számmal. Ha a következő szám kisebb, cseréljük fel a számokat. Adja hozzá a következő If then utasítást.

Ha rng.Cells (j) <rng.Cells (i) Akkor
Vége Ha

Ha a fenti állítás igaz, akkor felcseréljük a számokat.

Például: i = 1 és j = 2 esetén a 2 -es és 10 -es számokat hasonlítják össze. A fenti állítás nem igaz. Így nem kell cserélni a számokat. Az Excel VBA 1 -gyel növeli a j értéket, és megismétli az i = 1 és j = 3 kódsorokat. Könnyen láthatja, hogy az 5 nagyobb, mint 2, így továbbra sem kell kicserélni a számokat. Ugyanazt az eredményt kapjuk j = 4, j = 5 és j = 6 esetén. Amikor j = 7 -re érkezünk, a fenti állítás igaz, mivel 1 kisebb, mint 2.

5. Felcseréljük a számokat. Egy számot ideiglenesen ideiglenesen tárolunk, hogy az Excel VBA megfelelően kicserélhesse a számokat. Adja hozzá a következő kódsorokat az If utasításhoz.

'cserélje ki a számokat
temp = rng. Cellák (i)
rng. Sejtek (i) = rng. Sejtek (j)
rng. Sejtek (j) = hőm

6. Bezárjuk a második For Next cikket (az If utasításon kívül).

Következő j

I = 1 és j = 7 esetén az Excel VBA felcserélte a számokat. Ez azt jelenti, hogy 1 -et kapunk az első pozícióban és 2 -t a 7. pozícióban. Most, hogy az első helyen 1 -et kapunk, összehasonlítjuk ezt az értéket 5 -vel (j = 8 esetén) és 4 -gyel (j = 9 esetén). Nincs szükség a számok felcserélésére (1 a legkisebb szám). Így az Excel VBA megkapja (i = 1 esetén) a legkisebb számot az első pozícióban. Ahhoz, hogy a második legkisebb számot kapja a második pozícióban, az Excel VBA pontosan ugyanazokat a lépéseket ismétli meg az i = 2 esetén. A harmadik legkisebb szám eléréséhez a harmadik pozícióban az Excel VBA pontosan ugyanazokat a lépéseket ismétli meg i = 3 esetén, stb.

7. Zárja be az első For Next cikket (az If utasításon kívül).

Következő i

8. Tesztelje programját.

Eredmény:

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

wave wave wave wave wave