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

Turinys

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

Situacija:

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.

Dim rng As Range, langelis As Range
Aukščiausios vertės kaip dvigubas, antras aukščiausias kaip dvigubas

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

Nustatyti rng = Pasirinkimas
didžiausia vertė = 0
secondHighestValue = 0

3. Pirmiausia norime rasti didžiausią vertę. Norime patikrinti kiekvieną atsitiktinai pasirinkto diapazono langelį (š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ę
Kiekvienai langeliui In rng
Kitas langelis

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.

Jei langelis.Vertė> didžiausiaVertybė Tada didžiausiaVertė = ląstelė.Vertybė

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ą.

„Raskite antrą didžiausią vertę
Kiekvienai langeliui In rng
Kitas langelis

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. Pridėkite šią kodo eilutę prie kilpos.

Jei langelis.Vertė> secondHighestValue Ir ląstelė.Vertė <didžiausiaVerta Tada secondHighestValue = ląstelė.Vertybė

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

„MsgBox“ „Antroji didžiausia vertė“ ir „secondHighestValue“

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

Rezultatas:

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave