Како да користите и складирате сопствени функции во Excel

  • Споделете Го Ова
Michael Brown

Денес ќе продолжиме да ги истражуваме сопствените функции на Excel. Како што веќе знаете како да креирате UDF (и, се надевам, сте се обиделе и да ги примените во вашиот Excel), ајде да копаме малку подлабоко и да научиме како да ги користиме и складираме функциите дефинирани од корисникот во Excel.

Покрај тоа, ќе ви покажеме како лесно да ги зачувате вашите функции во дополнителна датотека на Excel за да ги користите подоцна со неколку кликања.

Значи, еве за што ќе зборуваме:

    Различни начини на користење UDF во Excel

    Користење UDF во работни листови

    Откако ќе потврдите дека вашите UDF работат правилно, можете да ги користите во Excel формули или во VBA код.

    Можете да примените сопствени функции во работната книга на Excel на ист начин како што користите обични функции. На пример, само напишете ја формулата подолу во ќелија:

    = GetMaxBetween(A1:A6,10,50)

    UDF може да се користи во комбинација со редовни функции. На пример, додадете текст на пресметаната максимална вредност:

    = CONCATENATE("Maximum value between 10 and 50 is ", GetMaxBetween(A1: A6,10,50))

    Резултатот можете да го видите на сликата од екранот подолу:

    Вие може да го најде бројот кој е максимален и е во опсег од 10 до 50.

    Ајде да провериме друга формула:

    = INDEX(A2:A9, MATCH(GetMaxBetween(B2:B9, F1, F2), B2:B9,0)), the

    Прилагодената функција GetMaxBetween го проверува опсегот B2:B9 и го наоѓа максималниот број помеѓу 10 и 50. Потоа, користејќи INDEX + MATCH, го добиваме името на производот што одговара на оваа максимална вредност:

    Како што можете да видите, користењето на сопствените функции не се разликува премногу од обичниот Excelфункции.

    Кога го правите ова, запомнете дека функцијата дефинирана од корисникот може да врати само вредност, но не може да изврши други дејства. Прочитајте повеќе за ограничувањата на функциите дефинирани од корисникот.

    Користење на UDF во процедури и функции на VBA

    УДФ може да се користат и во макроа на VBA. Подолу можете да го видите макро кодот кој ја бара максималната вредност во опсегот од 10 до 50 во колоната што ја содржи активната ќелија.

    Sub MacroWithUDF() Dim Rng As Range, maxcase, i As Long With ActiveSheet.Range( Cells(ActiveCell.CurrentRegion.Row, ActiveCell.Column), Cells(ActiveCell.CurrentRegion.Rows.Count _ + ActiveCell.CurrentRegion.Ред - 1, ActiveCell.Column)) максимум = GetMaxBetween(.Cells,50) = 1 Application.Match(maxcase, .Cells, 0) .Cells(i).Interior.Color = vbRed End With End Sub

    Макро кодот ја содржи приспособената функција

    GetMaxBetween(.Cells, 10, 50)

    Таа ја наоѓа максималната вредност во активната колона. Оваа вредност ќе биде означена тогаш. Резултатот од макрото може да го видите на сликата од екранот подолу.

    Прилагодена функција може да се користи и во друга приспособена функција. Претходно во нашиот блог, го разгледавме проблемот со конвертирање број во текст користејќи ја прилагодената функција со име SpellNumber .

    Со негова помош, можеме да ја добиеме максималната вредност од опсегот и веднаш запишете го како текст.

    За да го направите ова, ќе создадеме нова приспособена функција во која ќе ги користиме функциите GetMaxBetween и SpellNumber кои веќе ни се познати.

    Функција SpellGetMaxBetween(rngCells како опсег, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber(GetMaxCBetween,Minr) Функција

    Како што можете да видите, функцијата GetMaxBetween е аргумент на друга приспособена функција, SpellNumber . Ја дефинира максималната вредност, како што сме направиле многу пати досега. Овој број потоа се претвора во текст.

    На сликата од екранот погоре, можете да видите како функцијата SpellGetMaxBetween го наоѓа максималниот број помеѓу 100 и 500 и потоа го претвора во текст.

    Повикување на UDF од други работни книги

    Ако сте создале UDF во вашата работна книга, ова, за жал, не значи дека воопшто нема да се соочите со никакви проблеми.

    Според моето искуство, повеќето корисници порано или подоцна создаваат своја лична колекција на макроа и сопствени функции за да ги автоматизираат поединечните процеси и пресметки. И тука се појавува проблемот - кодот на функциите дефинирани од корисникот во Visual Basic треба да се складира некаде за да се користи подоцна во работата.

    За да се примени приспособената функција, работната книга каде што сте ја зачувале мора да биде отворена во вашиот Excel. Ако не е, ќе го добиете #ИМЕ! грешка при обидот да го користите. Оваа грешка покажува дека Excel не го знае името на функцијата што сакате да ја користите во формулата.

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

    Метод 1. Додајте го името на работната книга на функцијата

    Можете да го наведете името на работната книга во која се наоѓа пред името на функција. На пример, ако сте зачувале приспособена функција GetMaxBetween() во работна книга со име My_Functions.xlsm , тогаш мора да ја внесете следната формула:

    = My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)

    Метод 2. Складирајте ги сите UDF во една заедничка датотека

    Зачувајте ги сите сопствени функции во една посебна работна книга (на пример, My_Functions.xlsm ) и копирајте ја саканата функција од неа во тековната работна книга, доколку е потребно.

    Секогаш кога ќе креирате нова приспособена функција, треба да го дуплирате нејзиниот код во работната книга во која ќе ја користите. Со овој метод, може да се појават неколку непријатности:

    • Ако има многу работни датотеки, а функцијата е потребна насекаде, тогаш кодот ќе треба да се копира во секоја книга.
    • Не заборавајте да ја зачувате работната книга во макро-овозможен формат (.xlsm или .xlsb).
    • Кога отворате таква датотека, заштитата од макроа секој пат ќе прикажува предупредување, кое мора да се потврди. Многу корисници се плашат кога ќе видат предупредување со жолта лента што бара од нив да овозможат макроа. За да не ја видите оваа порака, треба целосно да ја оневозможите заштитата на Excel. Сепак, ова можеби не е секогаш точно и безбедно.

    Мислам дека ќе се согласите со мене дека цело време отворајќидатотека и копирањето на кодот на функциите дефинирани од корисникот од него или пишувањето на името на оваа датотека во формула не е најдоброто решение. Така, дојдовме до третиот начин.

    Метод 3. Направете додаток за Excel

    Мислам дека најдобриот начин е да се складираат често користените сопствени функции во дополнителна датотека на Excel . Предности од користењето на додатокот:

    • Треба да го поврзете додатокот со Excel само еднаш. После тоа, можете да ги користите неговите процедури и функции во која било датотека на овој компјутер. Не треба да ги зачувувате вашите работни книги во формати .xlsm и .xlsb бидејќи изворниот код нема да се чува во нив, туку во датотеката со додаток.
    • Веќе нема да ве мачи заштитата од макроа бидејќи додатоците секогаш се однесуваат на доверливи извори.
    • Додатокот е посебна датотека. Лесно е да се префрли од компјутер на компјутер, да се сподели со колегите.

    Ќе зборуваме повеќе за создавање и користење додаток подоцна.

    Користење додаток- ins за складирање на сопствени функции

    Како да креирам сопствен додаток? Ајде да одиме низ овој процес чекор по чекор.

    Чекор 1. Направете ја дополнителната датотека

    Отворете Microsoft Excel, креирајте нова работна книга и зачувајте ја под кое било соодветно име (на пример, My_Functions) во формат на додаток. За да го направите ова, користете го менито Датотека - Зачувај како или копчето F12. Не заборавајте да го наведете типот на датотека Додаток за Excel :

    Вашиот додаток ќе има наставка .xlam.

    Совет. Ве молиме имајте во предвид декастандардно Excel ги складира додатоците во папката C:\Users\[Your_Name]\AppData\Roaming\Microsoft\AddIns . Ви препорачувам да ја прифатите стандардната локација. Ако сакате, можете да наведете која било друга папка. Но, тогаш, кога го поврзувате додатокот, ќе треба рачно да ја пронајдете и наведете неговата нова локација. Ако го зачувате во стандардната папка, не мора да го барате додатокот на вашиот компјутер. Excel автоматски ќе го наведе.

    Чекор 2. Поврзете ја датотеката со додатокот

    Сега додатокот што го создадовме треба да биде поврзан со Excel. Потоа ќе се вчита автоматски кога ќе започне програмата. За да го направите ова, користете го менито Датотека - Опции - Додатоци . Проверете дали е избрано Додатоци за Excel во полето Управување . Кликнете на копчето Оди на дното на прозорецот. Во прозорецот што се појавува, означете го нашиот додаток во My_Functions. Ако не го гледате на списокот, кликнете на копчето Прегледи и прелистајте ја локацијата на вашата датотека со додаток.

    Ако користите додаток за складирање на сопствени функции, треба да следите едно едноставно правило. Ако ја префрлате работната книга на други луѓе, не заборавајте да префрлите и копија од додатокот што ја содржи функционалноста што ја сакате. Тие треба да го поврзат на ист начин како и вие сега.

    Чекор 3. Додајте сопствени функции и макроа на додатокот

    Нашиот додаток е поврзан со Excel, но не нема никаква функционалностуште. За да додадете нови UDF на него, отворете го уредувачот на Visual Basic со притискање на Alt + F11. Потоа можете да додавате нови модули со VBA код како што е опишано во моето упатство „Креирај UDF“.

    Изберете ја вашата додатна датотека ( My_Finctions.xlam ) во прозорецот VBAProject. Користете го менито Вметни - модул за да додадете сопствен модул. Треба да напишете сопствени функции во него.

    Можете или рачно да го напишете кодот на функцијата дефинирана од корисникот или да ја копирате од некаде.

    Тоа е сè. Сега креиравте сопствен додаток, го додадовте во Excel и можете да го користите UDF во него. Ако сакате да користите повеќе UDF, само напишете го кодот во модулот за додатоци во уредникот VBA и зачувајте го.

    Тоа е тоа за денес. Научивме како да ги користиме функциите дефинирани од корисникот во вашата работна книга. Навистина се надеваме дека овие упатства ќе ви бидат корисни. Ако имате какви било прашања, напишете ги во коментарите на оваа статија.

    Мајкл Браун е посветен технолошки ентузијаст со страст за поедноставување на сложените процеси користејќи софтверски алатки. Со повеќе од една деценија искуство во технолошката индустрија, тој ги усоврши своите вештини во Microsoft Excel и Outlook, како и Google Sheets и Docs. Блогот на Мајкл е посветен на споделување на своето знаење и експертиза со другите, обезбедувајќи лесни за следење совети и упатства за подобрување на продуктивноста и ефикасноста. Без разлика дали сте искусен професионалец или почетник, блогот на Мајкл нуди вредни сознанија и практични совети за да го извлечете максимумот од овие основни софтверски алатки.