Skaitļu kārtošana programmā Excel VBA - vienkārši Excel makro

Satura rādītājs

Zemāk mēs apskatīsim programmu Excel VBA ka kārto skaitļus.

Situācija:

Ievietojiet komandas pogu savā darblapā un pievienojiet šādas koda rindiņas:

1. Pirmkārt, mēs deklarējam trīs Integer tipa mainīgos un vienu Range objektu.

Dim i kā vesels skaitlis, j kā vesels skaitlis, temp kā vesels skaitlis, rng kā diapazons

2. Mēs inicializējam Range objektu rng ar skaitļiem kolonnā A. Mēs izmantojam rekvizītu CurrentRegion. Pašreizējais reģions ir noderīgs, ja mēs iepriekš nezinām precīzas diapazona robežas (mēs vēlamies, lai šī programma darbotos 9 cipariem, bet arī 90 cipariem).

Iestatīt rng = Diapazons ("A1"). Pašreizējais reģions

3. Mēs sākam divas For Next cilpas.

Par i = 1 līdz rng. Skaitīt
J = i + 1 līdz rng. Skaitīt

Paskaidrojums: rng. Skaitlis ir vienāds ar 9, tāpēc pirmās divas koda rindiņas tiek samazinātas līdz Attiecībā uz i = 1 līdz 9 un Ja = i + 1 līdz 9. Ja i = 1, j = 2, 3,…, 8 un 9 .

4. Lai pareizi sakārtotu skaitļus, mēs salīdzinām pirmo numuru ar nākamo. Ja nākamais skaitlis ir mazāks, mēs mainām numurus. Pievienojiet šādu paziņojumu Ja tad.

Ja rng.Šūnas (j) <rng.Šūnas (i) Tad
Beigas Ja

Ja iepriekš minētais apgalvojums ir patiess, mēs samainām numurus.

Piemēram: ja i = 1 un j = 2, tiek salīdzināti skaitļi 2 un 10. Iepriekš minētais apgalvojums nav patiess. Tādējādi nav jāmaina skaitļi. Excel VBA palielina j par 1 un atkārto koda rindas i = 1 un j = 3. Jūs varat viegli redzēt, ka 5 ir lielāks par 2, tāpēc joprojām nav jāmaina skaitļi. Mēs iegūstam tādu pašu rezultātu, ja j = 4, j = 5 un j = 6. Kad mēs nonākam pie j = 7, iepriekš minētais apgalvojums ir patiess, jo 1 ir mazāks par 2.

5. Mēs samainām numurus. Mēs īslaicīgi uzglabājam vienu numuru temperatūrā, lai Excel VBA varētu pareizi apmainīt numurus. Ja paziņojumā pievienojat šādas koda rindiņas.

'samainīt numurus
temp = rng. Šūnas (i)
rng. Šūnas (i) = rng. Šūnas (j)
rng. Šūnas (j) = temp

6. Mēs aizveram otro cilni For Next (Ārpus If paziņojuma).

Nākamais j

Ja i = 1 un j = 7, Excel VBA apmainīja skaitļus. Tas nozīmē, ka mēs iegūstam 1 pirmajā pozīcijā un 2 pozīcijā 7. Tagad, kad pirmajā pozīcijā ir 1, mēs salīdzināsim šo vērtību ar 5 (ja = 8) un 4 (ja = 9). Nav nepieciešams apmainīt ciparus (1 ir mazākais skaitlis). Tādā veidā Excel VBA iegūst (ja i ​​= 1) mazāko skaitli pirmajā pozīcijā. Lai iegūtu otro mazāko skaitli otrajā pozīcijā, Excel VBA atkārto tieši tādas pašas darbības attiecībā uz i = 2. Lai iegūtu trešo mazāko skaitli trešajā pozīcijā, Excel VBA atkārto tieši tādas pašas darbības attiecībā uz i = 3 utt.

7. Aizveriet pirmo cilni Par nākamo (ārpus paziņojuma Ja).

Tālāk i

8. Pārbaudiet savu programmu.

Rezultāts:

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave