300 Pavyzdžių

Raskite antrą didžiausią vertę

Find Second Highest Value

Žemiau apžvelgsime programą Excel VBA kad randa antrą didžiausią vertę .





Situacija:

„Excel“ skaičiuoja kelis kriterijus tame pačiame stulpelyje

Raskite antrą didžiausią vertę „Excel VBA“





1. Pirma, mes deklaruojame du diapazono objektus ir du kintamuosius tipo Double. Range objektus vadiname rng ir cell. Vieną dvigubą kintamąjį vadiname didžiausia verte, o kitą dvigubą kintamąjį vadiname antruoju aukščiausiu.

Nė vienasrngKaipDiapazonas, ląstelėKaipdiapazonas
Nė vienasdidžiausia vertėKaip Dvigubas, secondHighestValueKaip Dvigubas

2. Mes inicijuojame diapazono objektą rng pasirinktu diapazonu ir dviem dvigubais kintamaisiais, kurių vertė 0.



Nustatytirng = pasirinkimas
didžiausia vertė = 0
secondHighestValue = 0

3. Pirmiausia norime rasti didžiausią vertę. Norime patikrinti kiekvieną langelį atsitiktinai pasirinktame diapazone (šis diapazonas gali būti bet kokio dydžio). „Excel VBA“ tam galite naudoti ciklą „Kiekvienam kitam“. Pridėkite šias kodo eilutes:

'Raskite didžiausią vertę
Dėl KiekvienasląstelėInrng

Kitasląstelė

Pastaba: rng ir ląstelė čia pasirenkami atsitiktinai, galite naudoti bet kokius pavadinimus. Nepamirškite nurodyti šių pavadinimų likusioje kodo dalyje. Žalia linija yra komentaras ir čia pridedama tik siekiant suteikti informacijos apie šį kodą.

4. Tikriname kiekvieną šio diapazono langelį. Jei jis didesnis už didžiausią vertę, reikšmę įrašome į kintamąjį didžiausią vertę. Pridėkite šią kodo eilutę prie kilpos.

Jeiląstelė. Vertė> didžiausia vertėTadadidžiausia vertė = ląstelė. vertė

Pastaba: pirmoji vertė visada yra didesnė už didžiausią vertę, nes pradinė aukščiausios vertės vertė yra 0.

5. Antra, norime rasti antrą didžiausią vertę. Pridedame dar vieną už kiekvieną kitą kilpą.

kodėl mes naudojame pivot lentelę
„Raskite antrą didžiausią vertę
Dėl KiekvienasląstelėInrng

Kitasląstelė

6. Dar kartą patikriname kiekvieną pasirinkto diapazono langelį. Jei jis yra didesnis nei secondHighestValue ir mažesnis už didžiausią, tai reikšmę įrašome į kintamąjį secondHighestValue. Prie kilpos pridėkite šią kodo eilutę.

Jeicell.Value> secondHighestValueIrląstelė.VertėTadasecondHighestValue = ląstelė.Vertybė

7. Galiausiai, naudojant „MsgBox“, rodome antrą didžiausią vertę.

„MsgBox“ antra didžiausia vertė yra „& secondHighestValue“

8. Įdėkite makrokomandą į komandų mygtuką, pasirinkite skaičius ir spustelėkite komandos mygtuką.

Rezultatas:

Raskite antrą didžiausios vertės rezultatą

7/9 baigtas! Sužinokite daugiau apie teiginius>
Eiti į kitą skyrių: Kilpa



^