300 Pavyzdžių

Rūšiuoti skaičius

Sort Numbers

Žemiau apžvelgsime programą Excel VBA kad rūšiuoja skaičius .





Situacija:

Skaičių rūšiavimo pavyzdys





Įdėkite a komandinis mygtukas darbalapyje ir pridėkite šias kodo eilutes:

1. Pirma, deklaruojame tris Integer tipo kintamuosius ir vieną Range objektą.



Nė vienasiKaip Sveikasis skaičius, jKaip Sveikasis skaičius, tempKaip Sveikasis skaičius, rngKaipdiapazonas

2. Mes inicijuojame Range objektą rng su skaičiais A stulpelyje. Mes naudojame Dabartinis regionas turtas tam. „CurrentRegion“ yra naudinga, kai iš anksto nežinome tikslių diapazono ribų (norime, kad ši programa veiktų 9, bet ir 90 skaičių).

Nustatytirng = Diapazonas ('A1'). Dabartinis regionas

3. Mes pradedame dvi „For Next“ kilpas.

Dėli = 1Įrng. Skaičius
Dėlj = i + 1Įrng. Skaičius

Paaiškinimas: rng. Skaičius lygus 9, todėl pirmosios dvi kodo eilutės sumažėja iki For yra tikrinami.

„Excel“ indekso atitikties eilutė ir stulpelis

4. Norėdami tinkamai surūšiuoti skaičius, palyginame pirmąjį skaičių su kitu. Jei kitas skaičius yra mažesnis, mes keičiame skaičius. Pridėkite šį teiginį Jei tada.

Jeirng. Ląstelės (j)Tada

Galas Jei

Jei aukščiau pateiktas teiginys yra teisingas, mes keičiame skaičius.

„Excel“ skaičiuokite įvykių skaičių stulpelyje

Pavyzdžiui: kai i = 1 ir j = 2, skaičiai 2 ir 10 lyginami. Aukščiau pateiktas teiginys nėra tiesa. Taigi nereikia keistis skaičiais. „Excel VBA“ padidina j 1 ir kartoja kodo eilutes, kai i = 1 ir j = 3. Galite lengvai pamatyti, kad 5 yra didesnis nei 2, todėl vis tiek nereikia keisti skaičių. Mes gauname tą patį rezultatą, kai j = 4, j = 5 ir j = 6. Kai pasiekiame j = 7, aukščiau pateiktas teiginys yra teisingas, nes 1 yra mažesnis už 2.

5. Mes apsikeisti numeriai. Vieną numerį laikinai laikome laikinoje temperatūroje, kad „Excel VBA“ galėtų tinkamai sukeisti numerius. Prie sakinio „If“ pridėkite šias kodo eilutes.

'apsikeisti skaičiais
temp = rng. Ląstelės (i)
rng. Ląstelės (i) = rng. Ląstelės (j)
rng. Ląstelės (j) = temp

6. Uždarome antrąją „For Next“ kilpą (už teiginio „If“).

Kitasj

Jei i = 1 ir j = 7, „Excel VBA“ pakeitė skaičius. Tai reiškia, kad mes gauname 1 pirmoje pozicijoje ir 2 - 7 pozicijoje. Dabar, kai turime 1 pirmoje pozicijoje, palyginsime šią vertę su 5 (j = 8) ir 4 (jei j = 9). Nereikia apsikeisti skaičiais (1 yra mažiausias skaičius). Tokiu būdu „Excel VBA“ gauna (jei i = 1) mažiausią skaičių pirmoje pozicijoje. Norėdami gauti antrą mažiausią skaičių antroje vietoje, „Excel VBA“ kartoja tuos pačius veiksmus, kai i = 2. Kad trečiasis mažiausias skaičius būtų trečias, „Excel VBA“ kartoja tuos pačius veiksmus, kai i = 3 ir tt

7. Uždarykite pirmąją „For Next“ kilpą (už teiginio „If“ ribų).

Kitasi

8. Išbandykite savo programą.

Rezultatas:

Rūšiuokite skaičius „Excel VBA“

7/11 baigtas! Sužinokite daug daugiau apie kilpas>
Eiti į kitą skyrių: Makro klaidos



^