Употреба функција радног листа у макроима - примери ВБА кода

Постоји много начина за коришћење функција у ВБА. ВБА долази са много уграђених функција. Можете чак и да креирате сопствене функције (УДФ). Међутим, можете користити и многе Екцел -ове функције у ВБА користећи Апплицатион.ВорксхеетФунцтион.

Како се користе функције радног листа у ВБА

Да бисте приступили Екцел функцији у ВБА, додајте Апплицатион.ВорксхеетФунцтион испред функције коју желите да позовете. У доњем примеру позваћемо Екцел -ову Мак функцију:

12 Затамните максималну вредност све докмаквалуе = Апплицатион.ВорксхеетФунцтион.Мак (Опсег ("а1"). Вредност, Опсег ("а2"). Вредност)

Синтакса функција је иста, међутим аргументе функције ћете уносити исто као и било коју другу ВБА функцију.

Имајте на уму да се синтакса функције Мак приказује када куцате (слично као код функција ВБА):

Метод функционисања радног листа

ВорксхеетФунцтион је метода апликацијског објекта. Омогућава вам приступ многим (не свим) стандардним функцијама радног листа програма Екцел. Генерално, нећете добити приступ ниједној функцији радног листа која има одговарајућу ВБА верзију.

Испод можете видети списак многих најчешћих функција радног листа.

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

Заправо, постоје два начина за приступ овим функцијама:

Апплицатион.ВорксхеетФунцтион (као што је горе приказано):

1 маквалуе = Апплицатион.ВорксхеетФунцтион.Мак (Опсег ("а1"). Вредност, Опсег ("а2"). Вредност)

или можете изоставити функцију радног листа

1 маквалуе = Апплицатион.Мак (Опсег ("а1"). Вредност, Опсег ("а2"). Вредност)

Нажалост, изостављање функције радног листа елиминисаће Интеллисенсе који приказује синтаксу (погледајте слику изнад). Међутим, има једну велику потенцијалну предност: Грешка руковање.

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

Погледајмо пример да видимо разлику:

Руковање грешкама функције Влоокуп ВорксхеетФунцтион

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

Прво ћемо користити метод ВорксхеетФунцтион. Обратите пажњу на то како ВБА прави грешку:

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

Затим ћемо изоставити функцију радног листа. Обратите пажњу на то како се не појављује грешка и уместо тога функција „вредност“ садржи вредност грешке из Влоокупа.

Листа функција ВБА радног листа

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

ФункцијаОпис
Логичан
ИПроверава да ли су испуњени сви услови. ТАЧНО НЕТАЧНО
АКОАко је услов испуњен, учините нешто, ако не, учините нешто друго.
ИФЕРРОРАко је резултат грешка, учините нешто друго.
ИЛИПроверава да ли су испуњени неки услови. ТАЧНО НЕТАЧНО
Тражење и референце
ИЗАБЕРИТЕБира вредност са листе на основу броја позиције.
ХЛООКУППотражите вредност у првом реду и вратите вредност.
ИНДЕКСВраћа вредност на основу бројева колона и редова.
ПОТРАЖИТИТражи вредности хоризонтално или вертикално.
УТАКМИЦАТражи вредност на листи и враћа јој позицију.
ТРАНСПОЗАОкреће оријентацију низа ћелија.
ВЛООКУППотражите вредност у првој колони и вратите вредност.
Датум време
ДАТЕВраћа датум из године, месеца и дана.
ДАТЕВАЛУЕПретвара датум сачуван као текст у важећи датум
ДАНВраћа дан као број (1-31).
ДАИС360Враћа дане између 2 датума у ​​360 -дневној години.
ЕДАТЕВраћа датум удаљен н месеци од датума почетка.
ЕОМОНТХВраћа последњи дан у месецу, удаљен н месеци.
ХОУРВраћа сат као број (0-23).
МИНУТЕВраћа минут као број (0-59).
МЕСЕЦ ДАНАВраћа месец као број (1-12).
НЕТВОРКДАИСБрој радних дана између 2 датума.
НЕТВОРКДАИС.ИНТЛРадни дани између два датума, прилагођени викенди.
САДАВраћа тренутни датум и време.
СЕЦОНДВраћа други као број (0-59)
ВРЕМЕВраћа време од сата, минута и секунде.
ТИМЕВАЛУЕПретвара време сачувано као текст у важеће време.
ВЕЕКДАИВраћа дан у недељи као број (1-7).
ВЕЕКНУМВраћа број недеље у години (1-52).
РАДНИ ДАНДатум н радних дана од датума.
ИЕАРВраћа годину.
ИЕАРФРАЦВраћа део године између 2 датума.
Инжењеринг
ЦОНВЕРТПретворите број из једне јединице у другу.
Финансијски
ФВИзрачунава будућу вредност.
ПВИзрачунава садашњу вредност.
НПЕРИзрачунава укупан број периода плаћања.
ПМТИзрачунава износ плаћања.
РАТЕИзрачунава каматну стопу.
НПВИзрачунава нето садашњу вредност.
ИРРИнтерна стопа приноса за скуп периодичних ЦФ -ова.
КСИРРИнтерна стопа приноса за скуп непериодичних ЦФ-ова.
ЦЕНАИзрачунава цену обвезнице.
ИНТРАТЕКаматна стопа потпуно уложене хартије од вредности.
Информације
ИСЕРРТестирајте да ли је вредност ћелије грешка, занемарује #Н/А. ТАЧНО НЕТАЧНО
ИСЕРРОРТестирајте да ли је вредност ћелије грешка. ТАЧНО НЕТАЧНО
ЈЕ ЧАКТестирајте да ли је вредност ћелије парна. ТАЧНО НЕТАЧНО
ИСЛОШКИТестирајте да ли је ћелија логична (ТРУЕ или ФАЛСЕ). ТАЧНО НЕТАЧНО
ИСНАТестирајте да ли је вредност ћелије #Н/А. ТАЧНО НЕТАЧНО
ИСНОНТЕКСТТестирајте да ли ћелија није текст (празне ћелије нису текст). ТАЧНО НЕТАЧНО
ИСНУМБЕРТестирајте да ли је ћелија број. ТАЧНО НЕТАЧНО
ИСОДДТестирајте да ли је вредност ћелије непарна. ТАЧНО НЕТАЧНО
ИСТЕКСТТестирајте да ли је ћелија текст. ТАЧНО НЕТАЧНО
ТИПВраћа тип вредности у ћелију.
Матх
АБСИзрачунава апсолутну вредност броја.
АГРЕГАТЕДефинишите и извршите прорачуне за базу података или листу.
ПЛАФОНЗаокружује број према најближем наведеном вишекратнику.
ЦОСВраћа косинус угла.
СТЕПЕНИПретвара радијане у степене.
ДСУМЗаписи базе података о сумама који задовољавају одређене критеријуме.
ЧАКЗаокружује на најближи парни цео број.
ЕКСПИзрачунава експоненцијалну вредност за дати број.
ФАЦТВраћа факторијел.
ПОДЗаокружује број надоле на најближи наведени вишекратник.
ГЦДВраћа највећи заједнички делилац.
ИНТЗаокружује број на најближи цео број.
ЛЦМВраћа најмањи заједнички вишекратник.
ЛНВраћа природни логаритам броја.
ПРИЈАВАВраћа логаритам броја на одређену базу.
ЛОГ10Враћа логаритам базе-10 броја.
МРОУНДЗаокружује број на одређени вишекратник.
ОДДЗаокружује на најближи непаран цео број.
ПИВредност ПИ.
СНАГАИзрачунава број подигнут на степен.
ПРОИЗВОДМножи низ бројева.
КУОТИЕНТВраћа цео број резултат дељења.
РАДИАНСПретвара угао у радијане.
РАНДБЕТВЕЕНИзрачунава случајни број између два броја.
РОУНДЗаокружује број на одређени број цифара.
СИЋИ ДОЛЕЗаокружује број надоле (према нули).
ОКУПИТИЗаокружује број навише (даље од нуле).
СИНВраћа синус угла.
СУБТОТАЛВраћа збирну статистику за низ података.
СУМСабира бројеве.
СУМИФЗбирни бројеви који задовољавају критеријуме.
СУМИФСЗбирни бројеви који задовољавају више критеријума.
СУМПРОДУЦТМножи низове бројева и сумира резултујући низ.
ТАНВраћа тангенту угла.
Статс
ПРОСЕКПросечни бројеви.
ПРОСЈЕЧНОПросечан број који задовољава критеријуме.
ПРОСЈЕЧНОПросечан број који задовољава више критеријума.
ЦОРРЕЛИзрачунава корелацију две серије.
ЦОУНТБроји ћелије које садрже број.
ЦОУНТАПребројте ћелије које нису празне.
ЦОУНТБЛАНКБроји празне ћелије.
ЦОУНТИФБроји ћелије које испуњавају критеријуме.
ЦОУНТИФСБроји ћелије које задовољавају више критеријума.
ПРОГНОЗАПредвидите будуће и-вредности из линеарне линије тренда.
ФРЕКВЕНЦИЈАБроји вредности које спадају у наведене опсеге.
РАСТИзрачунава И вредности на основу експоненцијалног раста.
ИНТЕРЦЕПТИзрачунава пресек И за линију која најбоље пристаје.
ЛАРГЕВраћа к -ту највећу вредност.
ЛИНЕСТПриказује статистику о линији тренда.
МАКСВраћа највећи број.
МЕДИАНВраћа средњи број.
МИНВраћа најмањи број.
МОДЕВраћа најчешћи број.
ПЕРЦЕНТИЛНОВраћа к -ти перцентил.
ПЕРЦЕНТИЛЕ.ИНЦВраћа к -ти перцентил. Где је к инклузивно.
ПЕРЦЕНТИЛЕ.ЕКСЦВраћа к -ти перцентил. Где је к искључив.
КУАРТИЛЕВраћа наведену вредност квартила.
КУАРТИЛЕ.ИНЦВраћа наведену вредност квартила. Укључујући.
КУАРТИЛЕ.ЕКСЦВраћа наведену вредност квартила. Екцлусиве.
РАНКРанг броја у низу.
РАНК.АВГРанг броја у низу. Просеци.
РАНК.ЕКРанг броја у низу. Топ Ранк.
СЛОПЕИзрачунава нагиб из линеарне регресије.
СМАЛЛВраћа к -ту најмању вредност.
СТДЕВИзрачунава стандардну девијацију.
СТДЕВ.ПИзрачунава СД читаве популације.
СТДЕВ.СИзрачунава СД узорка.
СТДЕВПИзрачунава СД читаве популације
ТРЕНДИзрачунава И вредности на основу линије тренда.
Тект
ЧИСТУклања све знакове који се не могу штампати.
ДОЛЛАРПретвара број у текст у формату валуте.
ФИНДЛоцира положај текста унутар ћелије. Осетљиво на велика и мала слова.
ЛИЈЕВОСкраћује текст број знакова са леве стране.
ЛЕНБроји број знакова у тексту.
МИДИзвлачи текст из средине ћелије.
ПРАВИЛНОПретвара текст у велика слова.
ЗАМЕНИТИЗамењује текст на основу његове локације.
РЕПТПонавља текст неколико пута.
ЈЕЛ ТАКОСкраћује текст број знакова са десне стране.
ПРЕТРАГАЛоцира положај текста унутар ћелије. Не разликује велика и мала слова.
ЗАМЈЕНАПроналази и замењује текст. Велика и мала слова.
ТЕКСТПретвара вредност у текст са одређеним форматом броја.
ТРИМУклања све додатне размаке из текста.
wave wave wave wave wave