Pielāgoto funkciju priekšrocības un trūkumi programmā Excel

  • Dalīties Ar Šo
Michael Brown

Turpinām pamācību sēriju par lietotāja definētajām funkcijām. Iepriekšējos rakstos iepazināmies ar lietotāja definētajām funkcijām un uzzinājām, kā tās izveidot un izmantot. Šajā pamācībā aplūkosim šo funkciju izmantošanas specifiku un redzēsim atšķirības starp lietotāja definētajām funkcijām un VBA makrouzdevumiem.

Šajā pamācībā mēs uzzināsim:

    Mēs ceram, ka šis raksts papildinās jūsu zināšanas par UDF un palīdzēs jums tos vēl efektīvāk izmantot Excel darbgrāmatā.

    Vai UDF un makro ir viens un tas pats?

    Izmantojot VBA redaktoru, tiek izveidotas gan lietotāja definētas funkcijas, gan VBA makrouzdevumi. Kāda ir atšķirība starp tām un kam dot priekšroku?

    Svarīgākā atšķirība ir tā, ka funkcija veic aprēķinu, bet makro programma veic kādu darbību. Lietotāja definēta funkcija, tāpat kā parastā Excel funkcija, ir jāieraksta šūnā. Tās izpildes rezultātā šūna atdod kādu vērtību. Tajā pašā laikā nav iespējams mainīt citu šūnu vērtības, kā arī dažas pašreizējās šūnas īpašības (īpaši,Tomēr nosacītā formatēšanas formulās varat izmantot pielāgotu funkciju.

    UDF un VBA makro darbojas atšķirīgi. Piemēram, izveidojot UDF Visual Basic redaktorā, jūs sākat ar paziņojumu Funkcija un noslēgt ar Funkcijas beigas . Kad ierakstāt makro, sākat ar paziņojumu Sub un noslēgt ar Beigu apakšiedaļa.

    Ne visus Visual Basic operatorus var izmantot UDF izveidei. Šā iemesla dēļ makro ir daudzpusīgāks risinājums.

    Atšķirībā no lietotāja definētām funkcijām makram lietotājam nav jānorāda nekādi argumenti (un tas nevar pieņemt nekādus argumentus).

    Runa ir par to, ka dažas makrokomandu komandas var izmantot šūnu adreses vai formatēšanas elementus (piemēram, krāsu). Ja jūs pārvietojat šūnas, pievienojat vai noņemat rindas un kolonnas, maināt šūnu formātu, tad varat viegli "salauzt" savus makrus. Tas ir īpaši iespējams, ja koplietojat savu failu ar kolēģiem, kuri nezina, kā darbojas jūsu makrokomandas.

    Piemēram, jums ir fails ar perfekti strādājošu makro. Šī formula aprēķina A1 līdz A4 šūnas procentuālo daļu. Makro nomaina šo šūnu krāsu uz dzeltenu. Aktīvajā šūnā tiek iestatīts procentuālais formāts.

    Ja jūs vai kāds cits nolemj ievietot jaunu rindu, makro turpinās meklēt vērtību A4 šūnā (UDF parametrs 4,1), neizdosies un atgriezīs kļūdu:

    Šajā gadījumā kļūda radās dalīšanas ar nulli dēļ (jaunpievienotajā rindā nav vērtības). Ja makro veic, teiksim, summēšanu, tad jūs vienkārši saņemsiet nepareizu rezultātu. Bet jūs par to neuzzināsiet.

    Atšķirībā no makrosistēmām lietotāja definētās funkcijas nevar radīt šādu nepatīkamu situāciju.

    Zemāk redzat to pašu aprēķinu veiktspēju, izmantojot UDF. Šeit ievades šūnas varat norādīt jebkurā darblapas vietā, un, tās mainot, neradīsies nekādas neparedzētas problēmas.

    Es uzrakstīju šādu formulu C3:

    =UDF_vs_Macro(A1,A4)

    Pēc tam es ieliku tukšu rindu, un formula mainījās, kā redzams ekrānšā attēlā.

    Tagad mēs varam pārvietot ievades šūnu vai šūnu ar funkciju jebkur. Rezultāts vienmēr būs pareizs.

    Papildu priekšrocība, izmantojot UDF, ir tā, ka tie automātiski atjauninās, kad mainās vērtība ievades šūnā. Lietojot makrus, vienmēr jāpārliecinās, ka visi dati ir aktuāli.

    Paturot prātā šo piemēru, es dotu priekšroku UDF izmantošanai, kad vien tas ir iespējams, un izmantoju makrus tikai citām darbībām, kas nav saistītas ar aprēķiniem.

    UDF izmantošanas ierobežojumi un trūkumi

    Iepriekš jau minēju UDF priekšrocības. Īsumā - ar to var veikt aprēķinus, kas nav iespējami, izmantojot standarta Excel funkcijas. Turklāt ar to var saglabāt un izmantot garas un sarežģītas formulas, pārvēršot tās vienā funkcijā. Un jums nebūs atkal un atkal jāraksta sarežģītas formulas.

    Tagad sīkāk parunāsim par UDF trūkumiem:

    • Lai izveidotu UDF, ir jāizmanto VBA. To nav iespējams apiet. Tas nozīmē, ka lietotājs nevar ierakstīt UDF tādā pašā veidā kā Excel makro. Jums pašam ir jāizveido UDF. Tomēr jūs varat kopēt un ielīmēt iepriekš ierakstītā makro koda daļas savā funkcijā. Jums tikai jāapzinās pielāgoto funkciju ierobežojumi.
    • Vēl viens UDF trūkums ir tas, ka, tāpat kā jebkura cita Excel funkcija, tā var atgriezt tikai vienu vērtību vai vērtību masīvu šūnā. Tā vienkārši veic aprēķinus, neko vairāk.
    • Ja vēlaties kopīgot savu darbgrāmatu ar kolēģiem, pārliecinieties, ka UDF ir saglabāti tajā pašā failā. Pretējā gadījumā jūsu pielāgotās funkcijas viņiem nedarbosies.
    • Pielāgotās funkcijas, kas izveidotas, izmantojot VBA redaktoru, ir lēnākas nekā parastās funkcijas. Tas ir īpaši jūtams lielās tabulās. Diemžēl VBA līdz šim ir ļoti lēna programmēšanas valoda. Tāpēc, ja jums ir daudz datu, mēģiniet pēc iespējas izmantot standarta funkcijas vai izveidot UDF, izmantojot funkciju LAMBDA.

    Pielāgotās funkcijas ierobežojumi:

    • UDF ir paredzēti aprēķinu veikšanai un vērtības atdošanai. Tos nevar izmantot makru vietā.
    • Tās nevar mainīt citu šūnu saturu (tikai aktīvās šūnas saturu).
    • Funkciju nosaukumiem ir jāievēro noteikti noteikumi. Piemēram, nedrīkst izmantot nosaukumu, kas atbilst Excel funkcijas nosaukumam vai šūnas adresei, piemēram, AB123.
    • Jūsu pielāgotās funkcijas nosaukumā nedrīkst būt atstarpes, bet tajā var būt zemsvītras zīme. Tomēr vēlams katra jauna vārda sākumā lietot lielos burtus (piemēram, GetMaxBetween).
    • UDF nevar kopēt un ielīmēt šūnas uz citām darblapas daļām.
    • Tie nevar mainīt aktīvo darblapu.
    • UDF nevar mainīt aktīvās šūnas formatējumu. Ja vēlaties mainīt šūnas formatējumu, parādot dažādas vērtības, jāizmanto nosacītais formatējums.
    • Viņi nevar atvērt papildu grāmatas.
    • Tos nevar izmantot, lai palaistu makrus, izmantojot Application.OnTime.
    • Lietotāja definētu funkciju nevar izveidot, izmantojot makroreģistratoru.
    • Funkcijas nav redzamas Izstrādātājs> Makro dialogs.
    • Dialoglodziņā tiks parādītas jūsu funkcijas ( Ievietot> funkcija ) un funkciju sarakstā tikai tad, ja tās ir deklarētas kā Publiski (tas ir noklusējuma iestatījums, ja vien nav norādīts citādi).
    • Jebkuras funkcijas, kas deklarētas kā Privāts netiks parādīts funkciju sarakstā.

    Diezgan lēna darbība, kā arī daži lietošanas ierobežojumi var likt jums domāt: "Kāda ir šo pielāgoto funkciju izmantošana?"

    Tās var noderēt un noderēs, ja mēs ņemsim vērā tām noteiktos ierobežojumus. Ja iemācīsieties pareizi izveidot un izmantot UDF, varēsiet uzrakstīt savu funkciju bibliotēku. Tas ievērojami paplašinās jūsu iespējas strādāt ar datiem programmā Excel.

    Man personalizētās funkcijas ir liels laika ietaupījums. Un kā ir ar jums? Vai esat jau mēģinājuši izveidot savu UDF? Vai jums tas patika labāk nekā Excel pamatfunkcijas? Apspriedīsim to komentāros :)

    Maikls Brauns ir īpašs tehnoloģiju entuziasts, kura aizraušanās ir sarežģītu procesu vienkāršošana, izmantojot programmatūras rīkus. Ar vairāk nekā desmit gadu pieredzi tehnoloģiju nozarē viņš ir pilnveidojis savas prasmes programmās Microsoft Excel un Outlook, kā arī Google izklājlapās un dokumentos. Maikla emuārs ir veltīts tam, lai dalītos savās zināšanās un pieredzē ar citiem, sniedzot viegli izpildāmus padomus un pamācības produktivitātes un efektivitātes uzlabošanai. Neatkarīgi no tā, vai esat pieredzējis profesionālis vai iesācējs, Maikla emuārs piedāvā vērtīgas atziņas un praktiskus padomus, kā maksimāli izmantot šos būtiskos programmatūras rīkus.