У овом чланку ћемо научити како да креирате кориснички дефинисане функције у Мицрософт Екцелу помоћу ВБА.
Кориснички дефинисана функција:- Мицрософт Екцел већ има много функција, али ипак свако има различите захтеве, ситуацију, можемо креирати сопствену функцију према захтеву који се назива Кориснички дефинисана функција. Кориснички дефинисану функцију можемо користити као и друге функције у Екцелу.
Испод су теме за које ћемо креирати кориснички дефинисану функцију:
1). Како пребројати број речи у ћелији или опсегу?
2). Како издвојити реч из реченице или ћелије у Екцелу?
3). Како креирати формулу за ИСО?
4). Како сазнати назив радног листа и радне свеске користећи ВБА?
5). Како издвојити прву и последњу реч из ћелије у Екцелу?
Како креирати кориснички дефинисану функцију за бројање броја речи у ћелији или опсегу?
Имамо податке у табели 1 у којима имамо неке адресе па желимо да пребројимо речи у ћелији или опсегу стварањем кориснички дефинисане функције путем ВБА у Екцелу.
Да бисте кориснички дефинисану функцију учинили, следите доле наведене кораке:-
- Отворите ВБА страницу и притисните тастер Алт+Ф11.
- Уметните модул.
Напишите доле наведени код:
Функција ВОРДСЦОУНТ (рРанге Ас Ранге) Ас Лонг Дим рЦелл Ас Ранге Дим Цоунт Ас Лонг Фор еацх рЦеллИнрРанге лЦоунт = лЦоунт + Лен (Трим (рЦелл)) - Лен (Реплаце (Трим (рЦелл), "", "")) + 1 Следећа рЦелл ВОРДСЦОУНТ = Функција завршетка рачуна
Објашњења кода: - Да би кориснички дефинирана функција покренула код за назив функције и дефинирала варијабле. Користили смо „За сваку петљу“ у коду за бројање речи у опсегу.
Како користити ову функцију у програму Екцел?
Да бисте користили ову функцију, следите доле наведене кораке:-
- Идите на Екцел табелу.
- Да бисте пребројали речи за ћелију, унесите формулу у ћелију Д7.
- = ВОРДСЦОУНТ (Ц7), ћелија Ц7 је ћелија у којој желимо да израчунамо речи.
- Функција ће вратити 6, што значи да ћелија Ц7 садржи 6 речи.
- Да бисте извршили исти прорачун за остале ћелије, копирајте исту формулу и налепите у опсег.
- Да бисте пребројали речи у опсегу, користите формулу као = ВОРДСЦОУНТ (Ц7: Ц16), па притисните Ентер.
- Функција ће вратити број речи.
Напомена:- Овај УДФ ће вам помоћи да пребројите речи у опсегу или у једној ћелији.
Сада ћемо написати код за бројање речи помоћу наведеног разделника (,). Следите доле наведене кораке:-
Функција СЕПАРАТЕЦОУНТВОРДС (рРанге Ас Ранге, Оптионал сепаратор Ас Вариант) Ас Лонг Дим рЦелл Ас Ранге Дим Цоунт Ас Лонг Иф ИсМиссинг (сепаратор) Тхен сепаратор = "," Енд Иф Фор Еацх рЦеллИнрРанге лЦоунт = лЦоунт + Лен (Трим (рЦелл)) - Лен (Замени (Трим (рЦелл), сепаратор, "")) Следеће рЦелл СЕПАРАТЕЦОУНТВОРДС = лЗавршна функција
Да бисте користили ову функцију, следите доле наведене кораке:-
- Идите на Екцел табелу.
- Да бисмо пребројали одређене граничнике у речи, користићемо ову дефинисану функцију.
- = СЕПАРАТЕЦОУНТВОРДС (Ц7) и притисните Ентер.
- Функција ће вратити број посебних граничника.
Како извући реч из реченице или ћелије у Мицрософт Екцелу помоћу ВБА?
Имамо податке у листу 1. У којима имамо неке адресе па желимо да издвојимо речи из реченице или ћелије или опсега креирањем кориснички дефинисане функције кроз ВБА у Екцелу.
Да бисте кориснички дефинисану функцију учинили, следите доле наведене кораке:-
- Отворите ВБА страницу и притисните тастер Алт+Ф11.
- Уметните модул.
- Напишите доле наведени код:-
Функција ГЕТВОРД (Текст као варијанта, Н као цео број, опционални разделник као варијанта) Као низ ако недостаје (разграничење) Затим је разграничење = "" Крај ако је ГЕТВОРД = Раздели (текст, разделник) (Н - 1) Крај функција
Код Објашњење:- У горе поменутом коду смо споменули име функције са променљивим. Затим смо дефинисали критеријуме за издвајање речи из реченице или ћелије.
Сада ћемо научити како користити ову формулу. Следите доле наведене кораке:-
- Идите на Екцел табелу.
- Користите ову формулу у ћелији Д7.
- = ГЕТВОРД (Ц7,2) и притисните Ентер.
- Функција ће вратити другу реч из ћелије јер смо у формули коју смо споменули за 2нд број речи. Ако желите да преузмете реч која се налази на 3рд положај, морате променити број са 2 на 3 у формули.
Како креирати формулу броја ИСО недеље у Мицрософт Екцелу помоћу ВБА?
Научићемо како можемо да креирамо ИСО формулу недељног броја у Екцелу са овим УДФ -ом. Ову функцију ћемо користити за идентификацију да поменути датум припада броју седмице у години.
На листу имамо листу датума, а у другој колони желимо да преузмемо бројеве недеља.
Да бисте креирали УДФ за овај захтев, следите доле наведене кораке:-
- Отворите ВБА страницу и притисните тастер Алт+Ф11.
- Уметните модул.
- Напишите доле наведени код:-
Функција ИСОВЕЕКНУМБЕР (Индате Ас Дате) Ас Лонг Дим Дт Ас Дате Дт = ДатеСериал (Иеар (Индате - Веекдаи (Индате - 1) + 4), 1, 3) ИСОВЕЕКНУМБЕР = Инт ((Индате - Дт + Даидаи (Дт) + 5 ) / 7) Крајња функција
Код Објашњење:-:- У горњем коду смо споменули име функције са променљивим. Затим смо поставили вредност датума и дефинисали критеријуме функције „ИСОВЕЕНУМБЕР“.
Како можемо користити ову функцију у Екцел датотеци?
- Идите на Екцел табелу.
- Унесите формулу у ћелију Д7.
- = ИСОВЕЕКНУМБЕР (Ц7) и притисните Ентер.
- Функција ће вратити недељу за унети датум у ћелију. Сада да бисте дохватили број недеље за сваки датум, копирајте исту формулу у опсег.
Сада ћемо научити како да вратимо ИСО стандарде почетком године у Екцел-у- Први понедељак у години.
Ова функција ће у основи проверити да 1ст На који датум ће падати понедељак у години, а затим ће почети да израчунава број недеља од тог датума. Погледајмо како можемо створити УДФ за овај захтев.
Следите доле наведене кораке:-
- Отворите ВБА страницу и притисните тастер Алт+Ф11.
- Уметните модул.
- Напишите доле наведени код:-
Функција ИСОСТИР (Година као цео број) Као датум Дим ВД Као цео број Дим НИ Као датум НИ = ДатумСериал (Година, 1, 1) ВД = (НИ - 2) Мод 7 Ако је ВД <4 Тада је ИСОСТИР = НИ - ВД Остало ИСОСТИР = НИ - ВД + 7 Функција Енд Иф Енд
Код Објашњење: - У горњем коду смо споменули име функције са променљивим. Затим смо поставили критеријуме за променљиве и дефинисали унос формуле.
Само треба да наведете 2001. годину у овом формату и формула ће вам дати 1ст Понедељак у години.
Сада ћемо научити како се користи УДФ у Екцел датотеци. Следите доле наведене кораке:-
- Идите на Екцел табелу.
- Унесите формулу у ћелију Д7.
- = ИСОСТИР (Ц7) и притисните Ентер.
- Функција ће вратити датум 1ст Понедељак прве седмице Нове године.
- Да бисте вратили датум 1ст У понедељак прве године Нове године, копирајте исту формулу и залепите у опсег.
Како сазнати назив радног листа и радне свеске помоћу ВБА у Мицрософт Екцелу?
Следите доленаведени код и кораке:-
- Отворите ВБА страницу и притисните тастер Алт+Ф11.
- Уметните модул.
- Напишите доле наведени код:-
Функција Назив радног листа () Назив радног листа = Распон ("А1"). Парент.Наме Крај функција
Код Објашњење:- У горњем коду смо споменули назив функције, а затим смо дефинисали како да знамо назив листа.
Да бисте користили ову формулу, потребно је само да формулу унесете у било коју ћелију на овај начин: -= Назив радног листа (). Функција ће вратити назив листа.
Да бисте креирали функцију за назив радне свеске, следите доле наведене кораке и код:-
- Отворите ВБА страницу притисните тастер Алт+Ф11.
- Уметните модул.
- Напишите доле наведени код:-
Функција Воркбоокнаме () Воркбоокнаме = ТхисВоркбоок.Наме Крајња функција
Код Објашњење:-:- У горњем коду смо споменули назив функције, а затим смо дефинисали како да упознамо назив радне свеске.
Да бисте користили ову формулу, потребно је само да формулу унесете у било коју ћелију на овај начин: - = назив радне свеске (). Функција ће вратити назив листа.
Како извући прву и последњу реч из ћелије помоћу ВБА у Мицрософт Екцелу?
Имамо податке у листу 1 у којима имамо неке адресе па желимо да издвојимо последњу и прву реч из реченице или ћелије или опсега креирањем кориснички дефинисане функције кроз ВБА у Екцелу.
Прво ћемо написати функцију за издвајање прве речи. Молимо вас да следите доле наведене кораке:-
- Отворите ВБА страницу притисните тастер Алт+Ф11.
- Уметните модул
Напишите доле наведени код:-
Функција ГЕТФВ (Текст као низ, опционални сепаратор као варијанта) Затамни ФВ као низ ако недостаје (сепаратор) Затим сепаратор = "" Енд Иф ФВ = Лефт (Тект, ИнСтр (1, Тект, Сепаратор, вбТектЦомпаре)) ГЕТФВ = Реплаце (ФВ , Сепаратор, "") Крајња функција
Код Објашњење: - У горе поменутом коду смо споменули име функције са променљивим. Затим смо дефинисали критеријуме за издвајање речи из реченице или ћелије.
Сада ћемо научити како користити ову формулу. Следите доле наведене кораке:-
- Идите на Екцел табелу.
- Користите ову формулу у ћелији Д9.
- = ГЕТФВ (Ц9) и притисните Ентер.
- Функција ће вратити прву реч из података. Сада, да бисте дохватили прву реч за све ћелије, копирајте исту формулу у опсег.
Сада ћемо написати код за издвајање последње речи из ћелије. Пратите доле наведени код:-
- Отворите ВБА страницу притисните тастер Алт+Ф11.
- Уметните модул.
- Напишите доле наведени код:-
Функција ГЕТЛВ (Текст као низ, опционални сепаратор као варијанта) Затамни ЛВ као низ ако недостаје (сепаратор) Затим сепаратор = "" Крај ако је ЛВ = СтрРеверсе (Текст) ЛВ = Лево (ластворд, ИнСтр (1, ЛВ, Сепаратор, вбТектЦомпаре) ) ГЕТЛВ = СтрРеверсе (Замени (ЛВ, сепаратор, "")) Крај функција
Сада ћемо научити како користити ову формулу. Следите доле наведене кораке:-
- Идите на Екцел табелу.
- Користите ову формулу у ћелији Д9.
- = ГЕТЛВ (Ц9) Притисните Ентер.
- Функција ће вратити последњу реч из података. Сада, да бисте дохватили последњу реч за све ћелије, копирајте исту формулу у опсег.
Ово су функције које можемо дефинисати кроз ВБА, а затим их користити као формулу програма Екцел. Такође, можемо креирати много више кориснички дефинисаних функција. Наставите да учите са нама, смислићемо још компликованије формуле.