ВБА просек - ПРОСЕЧНО, СРЕДЊЕ, СРЕДЊЕ

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

Екцел ПРОСЈЕЧНА функција користи се за израчунавање просјека из ћелија распона на вашем радном листу које имају вриједности. У ВБА, приступа му се помоћу методе ВорксхеетФунцтион.

ПРОСЈЕЧНА Функција радног листа

Објекат ВорксхеетФунцтион се може користити за позивање већине Екцел функција које су доступне у оквиру за дијалог Инсерт Фунцтион у Екцелу. Функција АВЕРАГЕ је једна од њих.

123 Суб ТестФунцтионОпсег ("Д33") = Апплицатион.ВорксхеетФунцтион.Авераге ("Д1: Д32")Енд Суб

У функцији АВЕРАГЕ можете имати до 30 аргумената. Сваки од аргумената мора се односити на низ ћелија.

Овај доњи пример ће произвести просек збира ћелија Б11 до Н11

123 Суб ТестАвераге ()Опсег ("О11") = Апплицатион.ВорксхеетФунцтион.Авераге (Опсег ("Б11: Н11"))Енд Суб

Пример испод даје просек збира ћелија у Б11 до Н11 и збир ћелија у Б12: Н12. Ако не откуцате објекат Апплицатион, то ће се претпоставити.

123 Суб ТестАвераге ()Опсег ("О11") = Функција радног листа. Просек (Опсег ("Б11: Н11"), Опсег ("Б12: Н12"))Енд Суб

Додељивање просечног резултата променљивој

Можда ћете желети да користите резултат своје формуле на другом месту у коду, а не да га записујете директно у Екцел опсег. У том случају резултат можете доделити променљивој која ће се касније користити у коду.

1234567 Суб АссигнАвераге ()Затамните резултат као цео број'Доделите променљивуресулт = ВорксхеетФунцтион.Авераге (Распон ("А10: Н10"))'Покажи резултатМсгБок "Просек ћелија у овом опсегу је" & резултатЕнд Суб

ПРОСЈЕЧНО са објектом домета

Објекту Ранге можете доделити групу ћелија, а затим користити тај објекат Ранге са ВорксхеетФунцтион објекат.

123456789 Суб ТестАверагеРанге ()Дим рнг Ас Ранге'доделите опсег ћелијаСет рнг = Ранге ("Г2: Г7")'користите опсег у формулиОпсег ("Г8") = Функција радног листа. Просек (рнг)'отпустите објекат опсегаСет рнг = НиштаЕнд Суб

ПРОСЈЕЧНО Више објеката распона

Слично, можете израчунати просек ћелија из више објеката опсега.

123456789101112 Суб ТестАверагеМултиплеРангес ()Дим рнгА Ас РангеДим рнгБ ас Ранге'доделите опсег ћелијаПодеси рнгА = Опсег ("Д2: Д10")Подесите рнгБ = Опсег ("Е2: Е10")'користите опсег у формулиОпсег ("Е11") = Функција радног листа. Просек (рнгА, рнгБ)'отпустите објекат опсегаПоставите рнгА = НиштаПоставите рнгБ = НиштаЕнд Суб

Коришћење АВЕРАГЕА -е

Функција АВЕРАГЕА се разликује од функције АВЕРАГЕ по томе што ствара просек из свих ћелија у опсегу, чак и ако једна од ћелија има текст у себи - замењује текст нулом и то укључује у израчунавање просека. Функција АВЕРАГЕ ће занемарити ту ћелију и неће је узети у обзир при израчунавању.

123 Суб ТестАверагеА ()Опсег ("Б8) = Апплицатион.ВорксхеетФунцтион.АверагеА (Ранге (" А10: А11 "))Енд Суб

У доњем примеру, функција АВЕРАГЕ враћа различиту вредност функцији АВЕРАГЕА када се прорачун користи на ћелијама А10 до А11

Одговор за формулу АВЕРАГЕА је нижи од формуле АВЕРАГЕ јер замењује текст у А11 нулом, па стога даје просек преко 13 вредности, а не 12 вредности за које АВЕРАГЕ израчунава.

Коришћење АВЕРАГЕИФ

АВЕРАГЕИФ функција вам омогућава да израчунате просек збира опсега ћелија који задовољавају одређене критеријуме.

123 ПодпросекИф ()Опсег ("Ф31") = Функција радног листа.АверагеИф (Опсег ("Ф5: Ф30"), "Уштеда", Опсег ("Г5: Г30"))Енд Суб

Горе наведени поступак ће само просечити ћелије у опсегу Г5: Г30 где одговарајућа ћелија у колони Ф садржи реч „Уштеда“. Критеријуми које користите морају бити под наводницима.

Недостаци функције радног листа

Када користите ВорксхеетФунцтион да бисте израчунали просечне вредности у опсегу на вашем радном листу, враћа се статичка вредност, а не флексибилна формула. То значи да када се ваше бројке у Екцелу промене, вредност коју је вратио ВорксхеетФунцтион неће се променити.

У горњем примеру, процедура ТестАвераге процедура је створила просек Б11: М11 и одговор ставила у Н11. Као што можете видети на траци са формулама, овај резултат је бројка, а не формула.

Ако се нека од вредности промени у опсегу (Б11: М11), резултати у Н11 ће се променити НЕ промена.

Уместо да користите ВорксхеетФунцтион.Авераге, можете користити ВБА за примену функције АВЕРАГЕ на ћелију помоћу Формула или ФормулаР1Ц1 методе.

Коришћењем методе формуле

Метода формуле вам омогућава да посебно покажете на низ ћелија, на пример: Б11: М11 као што је приказано испод.

123 Суб ТестАверагеФормула ()Опсег ("Н11"). Формула = "= Просек (Б11: М11)"Енд Суб

Употребом методе ФормулаР1Ц1

Метода ФомулаР1Ц1 је флексибилнија по томе што вас не ограничава на задати опсег ћелија. Следећи пример ће нам дати исти одговор као и претходни.

123 Суб ТестАверагеФормула ()Опсег ("Н11"). Формула = "= Просек (РЦ [-12]: РЦ [-1])"Енд Суб

Међутим, како бисмо формулу учинили флексибилнијом, могли бисмо изменити код да изгледа овако:

123 Под ТестЦоунтФормула ()АцтивеЦелл.ФормулаР1Ц1 = "= Број (Р [-11] Ц: Р [-1] Ц)"Енд Суб

Где год да се налазите на свом радном листу, формула ће затим израчунати просечне вредности у 12 ћелија непосредно лево од њега и поставити одговор у вашу АцтивеЦелл. Распон унутар функције АВЕРАГЕ мора се позвати користећи синтаксу Ред (Р) и Колона (Ц).

Обе ове методе омогућавају вам да користите динамичке Екцел формуле у оквиру ВБА.

Сада ће уместо вредности бити формула у Н11.

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

wave wave wave wave wave