Тук ще намерите някои сравнително прости персонализирани функции на Excel VBA работен лист, които също са много полезни. Тези функции се наричат функции за обвивка, защото се състоят от код, който е обвит около вътрешни VBA елементи. С други думи, те ви позволяват да използвате VBA функции във формули на работни листове.
Функция Потребител()
' Връща името на текущия потребител
Потребител = Application.UserName
Крайна функция
Тази функция по същество позволява на вашите формули да имат достъп до свойството UserName на обекта Application.
Функцията NumberFormat
Тази функция просто показва числовия формат за клетка. Може да бъде полезно, ако трябва да се уверите, че група клетки имат един и същ числов формат.
Функция NumberFormat(Cell)
' Връща формата на числото на клетката
NumberFormat = Cell(1).NumberFormat
Крайна функция
Забележете използването на клетка (1)? Ако се използва диапазон от няколко клетки като аргумент, се използва само първата клетка.
Можете лесно да напишете подобни функции, които връщат цвета на текста на клетката, цвета на фона, шрифта и т.н.
Функцията ExtractElement
Тази функция за обвивка връща подниз от текстов низ, който съдържа множество елементи, разделени от разделителен знак. Например, тази формула връща cow, която е третият елемент в низ, който използва интервал като разделител. Аргументите, разбира се, могат да бъдат препратки към клетки.
=ExtractElement(“куче кон крава котка”, 3, “ “)
Ето кода, който е обвивка за функцията Split на VBA:
Функция ExtractElement(Txt, n, Sep)
' Връща n-тия елемент от текстов низ, където е
' елементите са разделени с определен разделителен знак
ExtractElement = Split(Application.Trim(Txt), Sep)(n - 1)
Крайна функция
Изображението по-долу показва функцията ExtractElement, използвана във формулите на работния лист. Колона A съдържа текстовия низ, колона B съдържа номера на елемента, който трябва да бъде извлечен, а колона C съдържа разделителя (клетките, които изглеждат празни, съдържат символ за интервал).
Използване на функцията ExtractElement за връщане на елемент от низ.
Функцията SayIt
Тази проста функция е обвивка за метода Speak на обекта Application.Speech. Той използва синтезиран глас, за да „изговори“ аргумента.
Функция SayIt(txt)
“ Говори аргумента
Application.Speech.Speak txt, True
Крайна функция
Ето един пример:
=IF(C10>10000,SayIt(„Над бюджета“),“OK“)
Формулата проверява клетка C10. Ако стойността е по-голяма от 10 000, функцията изговаря текста: „Над бюджета“. Ако стойността е по-малка от 10 000, функцията показва текста OK (и не казва нищо).
Използвайте пестеливо. Ако използвате тази функция повече от веднъж, това може да бъде много объркващо. Също така, не забравяйте, че тази функция се оценява всеки път, когато работният лист се изчислява, така че гласът може да стане много досаден, ако правите много промени. Тази функция вероятно е по-подходяща за развлекателни цели.
Функцията IsLike
Операторът Like на VBA е много гъвкав начин за сравняване на текстови низове. Проверете го в системата за помощ на VBA. Тази функция носи тази сила на формулите на вашия работен лист:
Функция IsLike (текст, шаблон)
' Връща true, ако първият аргумент е като втория
IsLike = text Like шаблон
Крайна функция