Функције радног листа у ВБА макроима користећи ВБА у Мицрософт Екцелу

Anonim

У ВБА коду, ако морате да се позивате на одређене функције радног листа као што су Сум, Влоокуп итд., Можете их користити директно помоћу објекта Апплицатион. Зато ћемо функције користити као -

Апплицатион.ВорксхеетФунцтион.Сум ор Апплицатион.ВорксхеетФунцтион.Влоокуп где ВорксхеетФунцтион је метод објекта апликације.

С обзиром да имамо овај тестни макро, ако откуцамо

Апплицатион.ВорксхеетФунцтион.

Добићемо скочни прозор који приказује формуле које се налазе испод слике

На пример, ако желите да сумирате вредности овог опсега у колони А помоћу вба -

Омогућимо променљиву под називом СалесТотал која ће сачувати збир у њој. Да бисмо добили укупан износ у СалесТотал -у, користићемо следећи ВБА код у стандардном модулу:

Подмакро4 ()
Дим СалесТотал Ас Лонг
СалесТотал = Апплицатион.ВорксхеетФунцтион.Сум (Распон ("А2: А6"))
МсгБок СалесТотал
Енд Суб

Да бисте копирали горњи код у своју датотеку,

  • Притисните Алт + Ф11 на тастатури.
  • Са леве стране видећете Мицрософт Екцел објекте.
  • Кликните десним тастером миша и изаберите Уметни.
  • Затим кликните на Модул.
  • Копирајте код у кодни прозор са десне стране.

Када користимо овај узорак макроа, добићемо поруку која приказује вредност која је ускладиштена у Салес Тотал и може се користити у даљим кодним редовима у макроу.

Резултат који ћемо добити је -

Ако желите да се СалесТотал прикаже у ћелији А7, тада можете да промените кодну линију из

Мсгбок СалесТоталдо Радни листови („Лист 1“). Распон („А7“). Вредност = СалесТотал

С обзиром да нам је такође потребна просечна продаја ових цифара у ћелији А9. Можемо користити доњи код

Подмакро5 ()
Дим СалесТотал Ас Лонг
Са радним листовима („Лист 1“)
СалесТотал = Апплицатион.ВорксхеетФунцтион.Сум (.Ранге ("А2: А6"))
.Ранге ("А7"). Вредност = СалесТотал
.Ранге ("А9"). Валуе = Апплицатион.ВорксхеетФунцтион.Авераге (.Ранге ("А2: А6"))
Завршити
Енд Суб

Овај код се незнатно мења у односу на претходни.

  • Уместо да користим променљиву за Просек, ја сам директно унео ту вредност након израчунавања у ћелију А9. Дакле, видећете ред .Ранге (“А9”). Валуе = Апплицатион.ВорксхеетФунцтион.Авераге (.Ранге (“А2: А6”))
  • Линија мсгбок је уклоњена.
  • Вредност у променљивој СалесТотал иде у ћелију А7.
  • У идеалном случају, можете поновити исти кодни ред који је коришћен за просек, за збирни ред кода тако што ћете га заменити

СалесТотал = Апплицатион.ВорксхеетФунцтион.Сум (.Ранге (“А2: А6”))

.Ранге („А7“). Валуе = СалесТотал

Витх

.Ранге (“А7”). Валуе = Апплицатион.ВорксхеетФунцтион.Сум (.Ранге (“А2: А6”))

Међутим, задржан је тако да можете разумети различите начине кодирања истог задатка. Слично, можемо користити друге функције док користимо Апплицатион.ВорксхеетФунцтион. Све оне функције које можемо директно користити на радном листу, можемо их користити овде.

Ово олакшава коришћење функција у коду како бисмо могли израчунати потребне формуле без потребе за креирањем кода за формулу.

Ако вам се допадају наши блогови, поделите их са пријатељима на Фацебооку. Такође нас можете пратити на Твиттер -у и Фацебоок -у.
Волели бисмо да чујемо од вас, реците нам како можемо побољшати, допунити или иновирати наш рад и учинити га бољим за вас. Пишите нам на сајт е -поште