Razvrsti številke v Excelu VBA - enostavni makri v Excelu

Kazalo

Spodaj si bomo ogledali program v Excel VBA to razvršča številke.

Situacija:

Na delovni list postavite ukazni gumb in dodajte naslednje kodne vrstice:

1. Najprej razglasimo tri spremenljivke tipa Integer in en predmet Range.

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

2. Objekt Range inicializiramo s številkami v stolpcu A. Za to uporabljamo lastnost CurrentRegion. CurrentRegion je uporaben, če vnaprej ne vemo natančnih meja obsega (želimo, da ta program deluje za 9 številk, pa tudi za 90 številk).

Nastavite rng = območje ("A1"). CurrentRegion

3. Začnemo dve zanki For Next.

Za i = 1 Za rng.Count
Za j = i + 1 Za rng

Pojasnilo: rng.Count je enak 9, zato se prvi dve kodni vrstici zmanjšata na For i = 1 do 9 in For j = i + 1 do 9. Za i = 1 se preveri j = 2, 3,…, 8 in 9 .

4. Za pravilno razvrščanje številk primerjamo prvo številko z naslednjo. Če je naslednja številka manjša, zamenjamo številke. Dodajte naslednji stavek If Then.

Če je rng.Cells (j) <rng.Cells (i) Potem
Konec Če

Če zgornja trditev drži, zamenjamo številke.

Na primer: pri i = 1 in j = 2 se primerjata številki 2 in 10. Zgornja trditev ne drži. Tako ni treba zamenjati številk. Excel VBA poveča j za 1 in ponovi kodne vrstice za i = 1 in j = 3. Z lahkoto lahko vidite, da je 5 večje od 2, zato številk še vedno ni treba zamenjati. Enak rezultat dobimo za j = 4, j = 5 in j = 6. Ko pridemo do j = 7, je zgornja trditev resnična, saj je 1 manjše od 2.

5. Številke zamenjamo. Začasno shranimo eno številko v temp, da lahko Excel VBA pravilno zamenja številke. V stavek If dodajte naslednje kodne vrstice.

'zamenjati številke
temp = rng. Celice (i)
rng.Cells (i) = rng.Cells (j)
rng. Celice (j) = temp

6. Zapremo drugo zanko For Next (Zunaj stavka If).

Naprej j

Za i = 1 in j = 7 je Excel VBA zamenjal številki. To pomeni, da dobimo 1 na prvem mestu in 2 na položaju 7. Zdaj, ko imamo 1 na prvem mestu, bomo to vrednost primerjali s 5 (za j = 8) in 4 (za j = 9). Številk ni treba zamenjati (1 je najmanjše število). Na ta način Excel VBA dobi (za i = 1) najmanjše število na prvem mestu. Da bi dobili drugo najmanjše število na drugem mestu, Excel VBA ponovi popolnoma enake korake za i = 2. Da bi dobili tretje najmanjše število na tretjem mestu, Excel VBA ponovi popolnoma enake korake za i = 3 itd.

7. Zaprite prvo zanko For Next (Zunaj stavka If).

Naprej i

8. Preizkusite svoj program.

Rezultat:

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave