Manteision ac anfanteision swyddogaethau arfer yn Excel

  • Rhannu Hwn
Michael Brown

Rydym yn parhau â'r gyfres o diwtorialau am swyddogaethau a ddiffinnir gan ddefnyddwyr. Yn ein herthyglau blaenorol, daethom yn gyfarwydd â swyddogaethau arfer a dysgu sut i'w creu a'u defnyddio. Yn y llawlyfr hwn byddwn yn edrych ar fanylion defnyddio'r swyddogaethau hyn ac yn gweld y gwahaniaethau rhwng UDFs a macros VBA.

Yn y tiwtorial hwn, byddwn yn dysgu'r canlynol:

    >Rydym yn gobeithio y bydd yr erthygl hon yn rhoi hwb i'ch gwybodaeth am UDF ac yn eich helpu i'w defnyddio hyd yn oed yn fwy effeithiol yn eich llyfrau gwaith Excel.

    >

    A yw UDF a Macro yr un peth?

    Mae'r ddwy swyddogaeth wedi'u diffinio gan ddefnyddwyr a VBA mae macros yn cael eu creu gan ddefnyddio golygydd VBA. Beth yw'r gwahaniaeth rhyngddynt a beth i roi ffafriaeth iddo?

    Y gwahaniaeth pwysicaf yw bod y ffwythiant yn cyflawni'r cyfrifiad, a bod y macro yn cyflawni rhyw weithred. Rhaid ysgrifennu swyddogaeth a ddiffinnir gan ddefnyddiwr, fel swyddogaeth Excel reolaidd, mewn cell. O ganlyniad i'w weithredu, mae'r gell yn dychwelyd rhywfaint o werth. Ar yr un pryd, mae'n amhosibl newid gwerthoedd celloedd eraill, yn ogystal â rhai priodweddau'r gell gyfredol (yn arbennig, fformatio). Fodd bynnag, gallwch ddefnyddio ffwythiant wedi'i deilwra mewn fformiwlâu fformatio amodol.

    Mae macro UDF a VBA yn gweithio mewn gwahanol ffyrdd. Er enghraifft, pan fyddwch chi'n creu UDF yn y Golygydd Sylfaenol Gweledol, rydych chi'n dechrau gyda datganiad Swyddogaeth ac yn gorffen gyda Swyddogaeth Gorffen . Pan fyddwch chi'n recordio macro, rydych chi'n dechrau gyda adatganiad Is ac yn gorffen gyda Diwedd Is.

    Ni ellir defnyddio pob gweithredwr Visual Basic i greu UDFs. Am y rheswm hwn, mae macro yn ddatrysiad mwy amlbwrpas.

    Nid yw macro yn gofyn i'r defnyddiwr basio unrhyw ddadl (ac ni all dderbyn unrhyw ddadl), yn wahanol i swyddogaeth a ddiffinnir gan y defnyddiwr.

    Y pwynt yw y gall rhai gorchmynion o macros ddefnyddio cyfeiriadau cell neu elfennau fformatio (er enghraifft, lliw). Os ydych chi'n symud celloedd, yn ychwanegu neu'n tynnu rhesi a cholofnau, newid fformat celloedd, yna gallwch chi "dorri" eich macros yn hawdd. Mae hyn yn arbennig o bosibl os ydych yn rhannu eich ffeil gyda chydweithwyr nad ydynt yn gwybod sut mae eich macros yn gweithio.

    Er enghraifft, mae gennych ffeil gyda macro sy'n gweithio'n berffaith. Mae'r fformiwla hon yn cyfrifo canran y gell A1 i A4. Mae macro yn newid lliw y celloedd hyn i felyn. Mae fformat canran yn cael ei osod yn y gell weithredol.

    Os ydych chi neu rywun arall yn penderfynu mewnosod rhes newydd, bydd y macro yn parhau i chwilio am y gwerth yn y gell A4 ( y paramedr 4,1 yn eich UDF), methu a dychwelyd gwall:

    Yn yr achos hwn, digwyddodd y gwall oherwydd rhaniad â sero (dim gwerth mewn ffeil newydd rhes). Rhag ofn i'r macro berfformio, gadewch i ni ddweud, crynhoi, yna byddwch yn cael canlyniad anghywir. Ond fyddwch chi ddim yn gwybod amdano.

    Yn wahanol i macros, ni all ffwythiannau a ddiffinnir gan y defnyddiwr achosi sefyllfa mor annymunol.

    Isod fe welwch berfformiad oyr un cyfrifiadau gan ddefnyddio UDF. Yma gallwch nodi celloedd mewnbwn unrhyw le yn y daflen waith ac ni fyddwch yn wynebu unrhyw broblemau annisgwyl wrth ei newid.

    Ysgrifennais y fformiwla ganlynol yn C3:

    =UDF_vs_Macro(A1,A4)

    Yna mewnosodais res wag, a newidiodd y fformiwla fel y gwelwch yn y sgrinlun uchod.

    Nawr gallwn symud cell fewnbwn neu gell gyda ffwythiant i unrhyw le. Bydd y canlyniad bob amser yn gywir.

    Mantais ychwanegol defnyddio UDFs yw eu bod yn diweddaru'n awtomatig pan fydd gwerth y gell mewnbwn yn newid. Wrth ddefnyddio macros, rhaid i chi bob amser sicrhau bod yr holl ddata yn gyfredol.

    Wrth gadw'r enghraifft hon mewn cof, byddai'n well gennyf ddefnyddio UDFs lle bynnag y bo modd a defnyddio macros yn unig ar gyfer gweithgareddau eraill nad ydynt yn cael eu cyfrifo.

    Cyfyngiadau ac anfanteision defnyddio UDF

    Rwyf eisoes wedi crybwyll manteision UDF uchod. Stori hir yn fyr, gall berfformio cyfrifiadau nad ydynt yn bosibl gyda swyddogaethau Excel safonol. Yn ogystal, gall arbed a defnyddio fformiwlâu hir a chymhleth, gan eu troi'n un swyddogaeth. Ac ni fydd yn rhaid i chi ysgrifennu fformiwlâu cymhleth dro ar ôl tro.

    Nawr, gadewch i ni siarad yn fanylach am ddiffygion yr UDF:

    • Mae creu UDFs yn gofyn am ddefnyddio VBA. Nid oes unrhyw ffordd o'i gwmpas. Mae hyn yn golygu na all y defnyddiwr gofnodi'r UDF yn yr un modd â macro Excel. Mae'n rhaid i chi greu'r UDF eich hun. Fodd bynnag, gallwch gopïo apastiwch rannau o'r cod macro a gofnodwyd yn flaenorol i'ch swyddogaeth. Mae angen i chi fod yn ymwybodol o gyfyngiadau swyddogaethau arferiad.
    • Anfantais arall i UDF yw, fel unrhyw swyddogaeth Excel arall, dim ond un gwerth neu amrywiaeth o werthoedd y gall ei dychwelyd i gell. Yn syml, mae'n gwneud cyfrifiadau, dim byd mwy.
    • Os ydych am rannu eich llyfr gwaith gyda'ch cydweithwyr, gwnewch yn siŵr eich bod yn cadw'ch UDFs yn yr un ffeil. Fel arall, ni fydd eich swyddogaethau personol yn gweithio iddyn nhw.
    • Mae swyddogaethau personol a grëwyd gyda'r golygydd VBA yn arafach na swyddogaethau arferol. Mae hyn yn arbennig o amlwg mewn byrddau mawr. Yn anffodus, mae VBA yn iaith raglennu araf iawn hyd yn hyn. Felly, os oes gennych lawer o ddata, ceisiwch ddefnyddio ffwythiannau safonol pryd bynnag y bo modd, neu greu UDFs gan ddefnyddio'r ffwythiant LAMBDA.

    Cyfyngiadau Swyddogaeth Cwsmer:

    • UDFs are wedi'i gynllunio i wneud cyfrifiadau a dychwelyd gwerth. Ni ellir eu defnyddio yn lle macros.
    • Ni allant newid cynnwys unrhyw gelloedd eraill (dim ond y gell weithredol).
    • Rhaid i enwau swyddogaethau ddilyn rhai rheolau. Er enghraifft, ni allwch ddefnyddio enw sy'n cyfateb i enw ffwythiant Excel brodorol neu gyfeiriad cell, fel AB123.
    • Ni all eich ffwythiant personol gynnwys bylchau yn yr enw, ond gall gynnwys y nod tanlinellu. Fodd bynnag, y dull a ffafrir yw defnyddio prif lythrennau ar ddechrau pob un newyddword (er enghraifft, GetMaxBetween).
    • Ni all UDF gopïo a gludo celloedd i rannau eraill o'r daflen waith.
    • Ni allant newid y daflen waith weithredol.
    • Gall UDFs' t newid y fformatio yn y gell weithredol. Os ydych am newid fformat cell wrth ddangos gwerthoedd gwahanol, dylech ddefnyddio fformatio amodol.
    • Ni allant agor llyfrau ychwanegol.
    • Ni ellir eu defnyddio i redeg macros gan ddefnyddio Application.OnTime .
    • Ni ellir creu ffwythiant a ddiffinnir gan y defnyddiwr gan ddefnyddio'r recordydd macro.
    • Nid yw swyddogaethau'n ymddangos yn y Datblygwr > Deialog Macros .
    • Bydd eich swyddogaethau yn ymddangos yn y blwch deialog ( Mewnosod > Swyddogaeth ) ac yn y rhestr swyddogaethau dim ond os cânt eu datgan yn Cyhoeddus (dyma'r rhagosodiad, oni nodir yn wahanol).
    • Ni fydd unrhyw swyddogaethau a ddatganwyd fel Preifat yn ymddangos yn y rhestr nodweddion.

    Gweithrediad eithaf araf , yn ogystal â rhai cyfyngiadau ar eu defnyddio, a allai wneud i chi feddwl: "Beth yw'r defnydd o'r swyddogaethau arfer hyn?"

    Gallant ddod yn ddefnyddiol, a gwneud os ydym yn ymwybodol o'r cyfyngiadau a osodir arnynt. Os ydych chi'n dysgu sut i greu a defnyddio UDFs yn gywir, gallwch chi ysgrifennu eich llyfrgell o swyddogaethau. Bydd hyn yn ehangu eich gallu i weithio gyda data yn Excel yn fawr.

    Fel i mi, mae swyddogaethau personol yn arbed amser gwych. A beth amdanoch chi? Ydych chi eisoes wedi ceisio creu eich UDF eich hun? Oeddech chi'n ei hoffiwell na'r swyddogaethau Excel sylfaenol? Gadewch i ni ei drafod yn y Sylwadau :)

    Mae Michael Brown yn frwd dros dechnoleg ymroddedig ac yn frwd dros symleiddio prosesau cymhleth gan ddefnyddio offer meddalwedd. Gyda mwy na degawd o brofiad yn y diwydiant technoleg, mae wedi hogi ei sgiliau yn Microsoft Excel ac Outlook, yn ogystal â Google Sheets a Docs. Mae blog Michael yn ymroddedig i rannu ei wybodaeth a'i arbenigedd ag eraill, gan ddarparu awgrymiadau a thiwtorialau hawdd eu dilyn ar gyfer gwella cynhyrchiant ac effeithlonrwydd. P'un a ydych chi'n weithiwr proffesiynol profiadol neu'n ddechreuwr, mae blog Michael yn cynnig mewnwelediadau gwerthfawr a chyngor ymarferol ar gyfer cael y gorau o'r offer meddalwedd hanfodol hyn.