Овде ћете пронаћи неке релативно једноставне прилагођене функције Екцел ВБА радног листа које су такође веома корисне. Ове функције се зову функције омотача јер се састоје од кода који је омотан око интринзичних ВБА елемената. Другим речима, омогућавају вам да користите ВБА функције у формулама радног листа.
Функција корисник()
' Враћа име тренутног корисника
Корисник = Апплицатион.УсерНаме
Енд Фунцтион
Ова функција, у суштини, омогућава вашим формулама да приступе својству УсерНаме објекта Апплицатион.
Функција НумберФормат
Ова функција једноставно приказује формат броја за ћелију. Може бити корисно ако морате да осигурате да група ћелија има исти формат бројева.
Функција НумберФормат (ћелија)
' Враћа формат броја ћелије
НумберФормат = Целл(1).НумберФормат
Енд Фунцтион
Приметили сте употребу ћелије (1)? Ако се вишећелијски опсег користи као аргумент, користи се само прва ћелија.
Можете лако написати сличне функције које враћају боју текста ћелије, боју позадине, фонт итд.
Функција ЕктрацтЕлемент
Ова функција омотача враћа подстринг из текстуалног низа који садржи више елемената, раздвојених знаком за раздвајање. На пример, ова формула враћа краву, која је трећи елемент у низу који користи размак као сепаратор. Аргументи, наравно, могу бити референце на ћелије.
=ЕктрацтЕлемент(“пас коњ крава мачка”, 3, “ “)
Ево кода, који је омот за ВБА функцију Сплит:
Функција ЕктрацтЕлемент(Ткт, н, Сеп)
' Враћа н-ти елемент текстуалног низа, где је
' елементи су одвојени одређеним знаком за раздвајање
ЕктрацтЕлемент = Сплит(Апплицатион.Трим(Ткт), Сеп)(н - 1)
Енд Фунцтион
Слика испод приказује функцију ЕктрацтЕлемент која се користи у формулама радног листа. Колона А садржи текстуални низ, колона Б садржи број елемента који треба издвојити, а колона Ц садржи граничник (ћелије које изгледају као празне садрже знак за размак).
Коришћење функције ЕктрацтЕлемент за враћање елемента из стринга.
Функција СаиИт
Ова једноставна функција је омот за методу Спеак објекта Апплицатион.Спеецх. Користи синтетизовани глас да „изговара“ аргумент.
Функција СаиИт(ткт)
' Изговара аргумент
Апплицатион.Спеецх.Спеак ткт, Тачно
Енд Фунцтион
Ево примера:
=ИФ(Ц10>10000,СаиИт(“Преко буџета”),”ОК”)
Формула проверава ћелију Ц10. Ако је вредност већа од 10.000, функција изговара текст: „Преко буџета“. Ако је вредност мања од 10.000, функција приказује текст ОК (и не каже ништа).
Користите штедљиво. Ако ову функцију користите више пута, може бити веома збуњујуће. Такође, запамтите да се ова функција процењује сваки пут када се радни лист израчунава, тако да глас може бити веома досадан ако уносите много промена. Ова функција је вероватно погоднија за забавне сврхе.
Функција ИсЛике
ВБА-ов Лике оператор је веома флексибилан начин за поређење текстуалних стрингова. Проверите то у ВБА систему помоћи. Ова функција доноси ту моћ формулама вашег радног листа:
Функција је као (текст, образац)
' Враћа тачно ако је први аргумент сличан другом
ИсЛике = текст Лике образац
Енд Фунцтион