Пронађите другу највећу вредност у програму Екцел ВБА - лаки Екцел макрои

Преглед садржаја

У наставку ћемо погледати програм у Екцел ВБА то налази другу највећу вредност.

Ситуација:

1. Прво, декларишемо два Ранге објекта и две променљиве типа Доубле. Објекте Ранге називамо рнг и ћелија. Једну двоструку променљиву називамо највишом вредношћу, а једну двоструку променљиву другуХигхестВалуе.

Дим рнг Ас Ранге, целл Ас Ранге
Затамни највећу вредност као двоструку, другу највишу вредност као двоструку

2. Иницијализујемо Ранге објекат рнг са изабраним опсегом и две Доубле променљиве са вредношћу 0.

Сет рнг = Селецтион
највећа вредност = 0
сецондХигхестВалуе = 0

3. Прво, желимо да пронађемо највећу вредност. Желимо да проверимо сваку ћелију у насумично изабраном опсегу (овај опсег може бити било које величине). У Екцел ВБА за ово можете користити петљу За сваку следећу. Додајте следеће редове кода:

„Пронађите највећу вредност
За сваку ћелију У рнг
Следећа ћелија

Напомена: овде су насумично изабрани рнг и ћелија, можете користити било која имена. Не заборавите да се у остатку кода позивате на та имена. Зелена линија је коментар и додаје се овде само ради пружања информација о овом делу кода.

4. Проверавамо сваку ћелију у овом опсегу. Ако је већа од највише вредности, вредност записујемо у променљиву највећа вредност. Додајте следећу линију кода у петљу.

Ако ћелија.Вредност> највиша вредност Затим је највећа вредност = ћелија.Вредност

Напомена: прва вредност је увек већа од највише вредности јер је почетна вредност највеће вредности 0.

5. Друго, желимо да пронађемо другу највећу вредност. Додајемо још једну петљу За сваку следећу.

„Пронађите другу највећу вредност
За сваку ћелију У рнг
Следећа ћелија

6. Поново проверавамо сваку ћелију у изабраном опсегу. Ако је већа од сецондХигхестВалуе и нижа од највишеВалуе, записујемо вредност у променљиву сецондХигхестВалуе. Додајте следећу линију кода у петљу.

Иф целл.Валуе> сецондХигхестВалуе Анд целл.Валуе <мостВалуе Тхен сецондХигхестВалуе = целл.Валуе

7. На крају, приказујемо другу највећу вредност користећи МсгБок.

МсгБок "Друга највећа вредност је" & сецондХигхестВалуе

8. Поставите свој макро у командно дугме, изаберите бројеве и кликните на командно дугме.

Резултат:

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave