Avantazhet dhe disavantazhet e funksioneve të personalizuara në Excel

  • Shperndaje Kete
Michael Brown

Ne po vazhdojmë serinë e mësimeve rreth funksioneve të përcaktuara nga përdoruesi. Në artikujt tanë të mëparshëm, ne u njohëm me funksionet e personalizuara dhe mësuam se si t'i krijojmë dhe përdorim ato. Në këtë manual do të shikojmë specifikat e përdorimit të këtyre funksioneve dhe do të shohim ndryshimet ndërmjet UDF-ve dhe makrove VBA.

Në këtë tutorial, do të mësojmë sa më poshtë:

    Shpresojmë se ky artikull do të rrisë njohuritë tuaja për UDF dhe do t'ju ndihmojë t'i përdorni ato edhe më me efikasitet në librat tuaj të punës në Excel.

    A janë UDF dhe Macro e njëjta gjë?

    Të dy funksionet e përcaktuara nga përdoruesi dhe VBA makrot krijohen duke përdorur redaktorin VBA. Cili është ndryshimi midis tyre dhe çfarë t'i jepet përparësi?

    Dallimi më i rëndësishëm është se funksioni kryen llogaritjen, dhe makro kryen disa veprime. Një funksion i përcaktuar nga përdoruesi, si një funksion i rregullt Excel, duhet të shkruhet në një qelizë. Si rezultat i ekzekutimit të saj, qeliza kthen një vlerë. Në të njëjtën kohë, është e pamundur të ndryshohen vlerat e qelizave të tjera, si dhe disa veti të qelizës aktuale (në veçanti, formatimi). Megjithatë, mund të përdorni një funksion të personalizuar në formulat e formatimit të kushtëzuar.

    Makro UDF dhe VBA funksionojnë në mënyra të ndryshme. Për shembull, kur krijoni një UDF në Redaktuesin Visual Basic, filloni me një deklaratë Funksioni dhe përfundoni me një Funksioni i Fundit . Kur regjistroni një makro, filloni me njëdeklarata Sub dhe përfundon me një End Sub.

    Jo të gjithë operatorët Visual Basic mund të përdoren për të krijuar UDF. Për këtë arsye, një makro është një zgjidhje më e gjithanshme.

    Një makro nuk kërkon që përdoruesi të kalojë ndonjë argument (as nuk mund të pranojë ndonjë argument), ndryshe nga një funksion i përcaktuar nga përdoruesi.

    <0 Çështja është se disa komanda të makrove mund të përdorin adresat e qelizave ose elementët e formatimit (për shembull, ngjyra). Nëse lëvizni qeliza, shtoni ose hiqni rreshta dhe kolona, ​​ndryshoni formatin e qelizave, atëherë mund të "thyeni" lehtësisht makrot tuaja. Kjo është veçanërisht e mundur nëse ndani skedarin tuaj me kolegë që nuk e dinë se si funksionojnë makrot tuaja.

    Për shembull, ju keni një skedar me një makro që funksionon në mënyrë të përsosur. Kjo formulë llogarit përqindjen e qelizës A1 në A4. Makroja ndryshon ngjyrën e këtyre qelizave në të verdhë. Një format përqindjeje është vendosur në qelizën aktive.

    Nëse ju ose dikush tjetër vendosni të futni një rresht të ri, makro do të vazhdojë të kërkojë vlerën në qelizën A4 ( parametri 4,1 në UDF-në tuaj), dështoni dhe ktheni një gabim:

    Në këtë rast, gabimi ndodhi për shkak të pjesëtimit me zero (pa vlerë në një të shtuar rishtas rresht). Në rast se makro kryen, le të themi, përmbledhje, atëherë thjesht do të merrni një rezultat të gabuar. Por ju nuk do të dini për të.

    Ndryshe nga makro, funksionet e përcaktuara nga përdoruesi nuk mund të shkaktojnë një situatë kaq të pakëndshme.

    Më poshtë shihni performancën etë njëjtat llogaritje duke përdorur një UDF. Këtu mund të specifikoni qelizat e hyrjes kudo në fletën e punës dhe nuk do të përballeni me ndonjë problem të papritur kur e ndryshoni atë.

    Kam shkruar formulën e mëposhtme në C3:

    =UDF_vs_Macro(A1,A4)

    Më pas futa një rresht bosh dhe formula ndryshoi siç mund ta shihni në pamjen e mësipërme.

    Tani mund të zhvendosim një qelizë hyrëse ose një qelizë me një funksion kudo. Rezultati do të jetë gjithmonë i saktë.

    Një përfitim shtesë i përdorimit të UDF-ve është se ato përditësohen automatikisht kur ndryshon vlera në qelizën hyrëse. Kur përdorni makro, duhet të siguroheni gjithmonë që të gjitha të dhënat të jenë të përditësuara.

    Duke mbajtur parasysh këtë shembull, do të preferoja të përdorja UDF-të kudo që të jetë e mundur dhe të përdor makro vetëm për aktivitete të tjera jo-llogaritëse.

    Kufizimet dhe disavantazhet e përdorimit të UDF

    Unë kam përmendur tashmë avantazhet e UDF më lart. Shkurtimisht, ai mund të kryejë llogaritje që nuk janë të mundshme me funksionet standarde të Excel. Përveç kësaj, ai mund të ruajë dhe të përdorë formula të gjata dhe komplekse, duke i kthyer ato në një funksion të vetëm. Dhe nuk do t'ju duhet të shkruani formula të ndërlikuara vazhdimisht.

    Tani le të flasim më në detaje për mangësitë e UDF:

    • Krijimi i UDF-ve kërkon përdorimin e VBA. Nuk ka rrugëdalje. Kjo do të thotë që përdoruesi nuk mund të regjistrojë UDF në të njëjtën mënyrë si një makro Excel. Ju duhet ta krijoni vetë UDF-në. Megjithatë, ju mund të kopjoni dhengjitni pjesë të kodit makro të regjistruar më parë në funksionin tuaj. Thjesht duhet të jeni të vetëdijshëm për kufizimet e funksioneve të personalizuara.
    • Një tjetër pengesë e UDF është se si çdo funksion tjetër Excel, ai mund të kthejë vetëm një vlerë të vetme ose një grup vlerash në një qelizë. Ai thjesht kryen llogaritjet, asgjë më shumë.
    • Nëse dëshironi të ndani librin tuaj të punës me kolegët tuaj, sigurohuni që t'i ruani UDF-të tuaja në të njëjtin skedar. Përndryshe, funksionet tuaja të personalizuara nuk do të funksionojnë për ta.
    • Funksionet e personalizuara të krijuara me redaktuesin VBA janë më të ngadalta se funksionet e zakonshme. Kjo është veçanërisht e dukshme në tavolina të mëdha. Fatkeqësisht, VBA është një gjuhë programimi shumë e ngadaltë deri më tani. Prandaj, nëse keni shumë të dhëna, përpiquni të përdorni funksione standarde sa herë që është e mundur, ose krijoni UDF duke përdorur funksionin LAMBDA.

    Kufizimet e funksionit të personalizuar:

    • UDF-të janë projektuar për të kryer llogaritjet dhe për të kthyer një vlerë. Ato nuk mund të përdoren në vend të makrove.
    • Ato nuk mund të ndryshojnë përmbajtjen e asnjë qelize tjetër (vetëm qelizës aktive).
    • Emrat e funksioneve duhet të ndjekin disa rregulla. Për shembull, nuk mund të përdorni një emër që përputhet me një emër funksioni origjinal Excel ose një adresë qelize, si p.sh. AB123.
    • Funksioni juaj i personalizuar nuk mund të përmbajë hapësira në emër, por mund të përfshijë karakterin e nënvizimit. Megjithatë, metoda e preferuar është përdorimi i shkronjave të mëdha në fillim të çdo të rejefjalë (për shembull, GetMaxBetween).
    • Një UDF nuk mund të kopjojë dhe ngjitë qeliza në zona të tjera të fletës së punës.
    • Ata nuk mund ta ndryshojnë fletën aktive të punës.
    • UDF-të mund' t ndryshoni formatimin në qelizën aktive. Nëse dëshironi të ndryshoni formatimin e një qelize kur shfaqni vlera të ndryshme, duhet të përdorni formatimin e kushtëzuar.
    • Ata nuk mund të hapin libra shtesë.
    • Nuk mund të përdoren për të ekzekutuar makro duke përdorur Application.OnTime .
    • Një funksion i përcaktuar nga përdoruesi nuk mund të krijohet duke përdorur makroregjistruesin.
    • Funksionet nuk shfaqen në Zhvilluesi > Dialogu i makrove .
    • Funksionet tuaja do të shfaqen në kutinë e dialogut ( Fut > Funksioni ) dhe në listën e funksioneve vetëm nëse ato deklarohen si Publike (ky është parazgjedhja, përveç nëse shënohet ndryshe).
    • Çdo funksion i deklaruar si Privat nuk do të shfaqet në listën e veçorive.

    Një veprim mjaft i ngadaltë , si dhe disa kufizime në përdorim, mund t'ju bëjnë të mendoni: "Cili është përdorimi i këtyre funksioneve të personalizuara?"

    Ato mund të jenë të dobishme dhe të bëjnë nëse jemi të vetëdijshëm për kufizimet e vendosura ndaj tyre. Nëse mësoni se si të krijoni dhe përdorni siç duhet UDF-të, mund të shkruani bibliotekën tuaj të funksioneve. Kjo do të zgjerojë shumë aftësinë tuaj për të punuar me të dhëna në Excel.

    Sa për mua, funksionet e personalizuara kursejnë shumë kohë. Po ju? A keni provuar tashmë të krijoni UDF-në tuaj? A ju pëlqeumë mirë se funksionet bazë të Excel? Le ta diskutojmë në komente :)

    Michael Brown është një entuziast i përkushtuar i teknologjisë me një pasion për thjeshtimin e proceseve komplekse duke përdorur mjete softuerike. Me më shumë se një dekadë përvojë në industrinë e teknologjisë, ai ka përmirësuar aftësitë e tij në Microsoft Excel dhe Outlook, si dhe Google Sheets dhe Docs. Blogu i Michael është i përkushtuar ndaj ndarjes së njohurive dhe ekspertizës së tij me të tjerët, duke ofruar këshilla dhe mësime të thjeshta për t'u ndjekur për të përmirësuar produktivitetin dhe efikasitetin. Pavarësisht nëse jeni një profesionist me përvojë apo fillestar, blogu i Michael ofron njohuri të vlefshme dhe këshilla praktike për të përfituar sa më shumë nga këto mjete softuerike thelbësore.