Yuav ua li cas los tsim koj tus kheej add-in rau Microsoft Excel

Txawm hais tias koj tsis paub yuav ua li cas rau program, muaj ntau qhov chaw (cov phau ntawv, cov vev xaib, rooj sab laj) qhov twg koj tuaj yeem nrhiav VBA macro code npaj tau rau ntau cov haujlwm tseem ceeb hauv Excel. Hauv kuv qhov kev paub dhau los, cov neeg siv feem ntau sai lossis tom qab sau lawv tus kheej sau ntawm macros kom ua haujlwm cov txheej txheem niaj hnub, txawm hais tias nws txhais cov qauv rau hauv qhov muaj nuj nqis, nthuav qhia cov lej hauv cov lus, lossis suav cov hlwb los ntawm xim. Thiab ntawm no qhov teeb meem tshwm sim - macro code hauv Visual Basic yuav tsum tau muab khaws cia rau ib qho chaw thiaj li yuav siv tau tom qab ua haujlwm.

Qhov kev xaiv yooj yim tshaj plaws yog khaws cov lej macro ncaj qha rau hauv cov ntaub ntawv ua haujlwm los ntawm kev mus rau Visual Basic editor siv cov keyboard shortcut Alt+F11 thiab ntxiv ib qho tshiab khoob module ntawm cov ntawv qhia zaub mov Ntxig - Module:

Txawm li cas los xij, muaj ntau qhov tsis zoo nrog txoj kev no:

  • Yog tias muaj ntau cov ntaub ntawv ua haujlwm, thiab ib qho macro xav tau nyob txhua qhov chaw, xws li macro hloov cov qauv rau hauv qhov muaj nuj nqis, ces koj yuav tsum luam cov cai. hauv txhua phau ntawv.
  • Yuav tsum tsis txhob hnov ​​qab txuag cov ntaub ntawv hauv macro-enabled format (xlsm) lossis hauv phau ntawv binary (xlsb).
  • Thaum qhib cov ntaub ntawv no kev tiv thaiv macro yuav txhua lub sij hawm tshaj tawm lus ceeb toom uas yuav tsum tau lees paub (zoo, los yog lov tes taw kev tiv thaiv kiag li, uas tej zaum yuav tsis ib txwm xav tau).

Ib qho kev daws teeb meem zoo nkauj dua yuav tsim koj tus kheej add-in (Excel Add-in) - cais cov ntaub ntawv ntawm ib hom ntawv tshwj xeeb (xlam) uas muaj tag nrho koj cov "nyiam" macro. Qhov zoo ntawm txoj kev no:

  • Nws yuav txaus txuas add-on ib zaug hauv Excel - thiab koj tuaj yeem siv nws cov txheej txheem VBA thiab ua haujlwm hauv txhua cov ntaub ntawv ntawm lub khoos phis tawj no. Txuag koj cov ntaub ntawv ua haujlwm hauv xlsm- thiab xlsb-hom ntawv, yog li, tsis tas yuav, vim. lub hauv paus code yuav tsis muab cia rau hauv lawv, tab sis nyob rau hauv cov ntaub ntawv add-in.
  • Kev pab tiv thaiv koj yuav tsis thab los ntawm macros, thiab. add-ons yog, los ntawm txhais, ntseeg tau qhov chaw.
  • Ua tau cais tab ntawm Excel ribbon nrog cov nyees khawm zoo los khiav add-in macros.
  • Cov add-in yog cov ntaub ntawv cais. Nws nqa tau yooj yim los ntawm lub computer mus rau lub computer, qhia nws nrog cov npoj yaig lossis txawm muag nws 😉

Cia peb taug kev los ntawm tag nrho cov txheej txheem ntawm kev tsim koj tus kheej Microsoft Excel ntxiv-hauv ib kauj ruam.

Kauj ruam 1. Tsim cov ntaub ntawv ntxiv

Qhib Microsoft Excel nrog ib phau ntawv ua haujlwm dawb thiab khaws cia rau hauv ib lub npe tsim nyog (piv txwv li MyExcelAddin) nyob rau hauv add-in hom nrog cov lus txib Cov ntaub ntawv – Txuag li los yog cov yuam sij F12, qhia txog hom ntaub ntawv Excel Ntxiv-hauv:

Thov nco ntsoov tias los ntawm lub neej ntawd Excel khw muag khoom ntxiv-ins hauv C:UsersYour_nameAppDataRoamingMicrosoftAddIns nplaub tshev, tab sis, hauv txoj cai, koj tuaj yeem hais qhia lwm lub nplaub tshev uas yooj yim rau koj.

Kauj ruam 2. Peb txuas cov tsim add-in

Tam sim no tus add-in peb tsim nyob rau hauv lub xeem kauj ruam MyExcelAddin yuav tsum tau txuas nrog Excel. Txhawm rau ua qhov no, mus rau cov ntawv qhia zaub mov Cov ntaub ntawv – Kev xaiv – Ntxiv-ons (Cov ntaub ntawv - Kev xaiv - Ntxiv-Ins), nyem rau ntawm lub pob Hais txog (mus) nyob rau hauv qab ntawm lub qhov rais. Hauv qhov rai uas qhib, nyem lub pob Review (Xav paub) thiab qhia qhov chaw ntawm peb cov ntaub ntawv ntxiv.

Yog tias koj ua txhua yam zoo, ces peb MyExcelAddin yuav tsum tshwm nyob rau hauv daim ntawv teev cov muaj add-ons:

Kauj ruam 3. Ntxiv macros rau qhov ntxiv-hauv

Peb add-in txuas nrog Excel thiab ua haujlwm tau zoo, tab sis tsis muaj ib qho macro hauv nws tseem. Wb sau nws. Txhawm rau ua qhov no, qhib Visual Basic editor nrog cov keyboard shortcut Alt+F11 los yog khawm Visual Basic tab tsim tawm (Tus tsim tawm). Yog tabs tsim tawm tsis pom, nws tuaj yeem pom los ntawm Cov ntaub ntawv – Kev xaiv – Ribbon teeb (Cov ntaub ntawv - Kev xaiv - Customize Ribbon).

Yuav tsum muaj lub qhov rais nyob rau sab laug ces kaum ntawm tus editor project (yog tias nws tsis pom, ces tig nws los ntawm cov ntawv qhia zaub mov Saib - Project Explorer):

Lub qhov rais no nthuav tawm txhua phau ntawv qhib thiab khiav Microsoft Excel add-ins, suav nrog peb. VBAProject (MyExcelAddin.xlam) Xaiv nws nrog tus nas thiab ntxiv ib qho tshiab rau nws ntawm cov ntawv qhia zaub mov Ntxig - Module. Nyob rau hauv no module, peb yuav khaws cov VBA code ntawm peb add-in macros.

Koj tuaj yeem ntaus tus lej los ntawm kos (yog tias koj paub yuav ua li cas rau program), lossis luam tawm los ntawm qhov chaw npaj ua tiav (uas yooj yim dua). Wb, rau kev sim, nkag mus rau tus lej ntawm qhov yooj yim tab sis muaj txiaj ntsig macro rau hauv qhov ntxiv qhov khoob:

Tom qab nkag mus rau tus lej, tsis txhob hnov ​​​​qab nyem rau ntawm lub pob txuag (diskette) nyob rau sab laug sab laug.

Peb macro FormulasToValues, raws li koj tuaj yeem xav tau yooj yim, hloov cov qauv mus rau qhov tseem ceeb hauv qhov kev xaiv ua ntej. Qee zaum cov macro no kuj hu ua cov txheej txheem. Txhawm rau khiav nws, koj yuav tsum xaiv cov cell nrog cov qauv thiab qhib lub thawv tshwj xeeb Ntsig los ntawm tab tsim tawm (Tus tsim tawm - Macros) los yog keyboard shortcut Alt+F8. Feem ntau, lub qhov rais no qhia muaj macros los ntawm txhua phau ntawv qhib, tab sis ntxiv-hauv macros tsis pom ntawm no. Txawm li cas los xij, peb tuaj yeem sau npe ntawm peb cov txheej txheem hauv daim teb macro npe (Macro npe)thiab ces nias lub pob khiav (khiav) - thiab peb macro yuav ua haujlwm:

    

Ntawm no koj tuaj yeem muab cov keyboard shortcut kom nrawm nrawm rau macro - lub pob yog lub luag haujlwm rau qhov no tsis (Kev xaiv) nyob rau hauv lub qhov rais dhau los Macro:

Thaum muab cov yuam sij, nco ntsoov tias lawv yog cov ntaub ntawv nkag siab thiab cov keyboard layout rhiab heev. Yog li yog tias koj muab ib qho kev sib xyaw zoo li Ctrl+Й, then, in fact, in the future you will have to make sure that you have the layout turned on and press additionally ua haujlwmkom tau daim ntawv loj.

Txhawm rau kom yooj yim, peb tuaj yeem ntxiv ib lub pob rau peb cov macro rau qhov nrawm nkag toolbar nyob rau sab laug sab laug ntawm lub qhov rais. Ua li no, xaiv Cov ntaub ntawv – Kev xaiv – Quick Access Toolbar (Cov ntaub ntawv - Kev xaiv - Customize Quick Access Toolbar), thiab tom qab ntawd hauv daim ntawv teev npe poob rau saum lub qhov rais qhov kev xaiv Ntsig. Tom qab ntawd peb macro FormulasToValues tuaj yeem muab tso rau ntawm lub vaj huam sib luag nrog lub pob Ntxiv (Ntxiv) thiab xaiv ib lub icon rau nws nrog lub pob hloov (Kho kom raug):

Kauj ruam 4. Ntxiv zog rau lub add-in

Tab sis cov txheej txheem macro, kuj muaj muaj nuj nqi macros los yog raws li lawv hu UDF (User Defined Function = Tus neeg siv txhais ua haujlwm). Cia peb tsim ib qho module cais hauv peb qhov add-on (menu hais kom ua Ntxig - Module) thiab paste cov cai ntawm cov haujlwm hauv qab no muaj:

Nws yog ib qho yooj yim kom pom tias txoj haujlwm no yuav tsum tau rho tawm VAT los ntawm tus nqi suav nrog VAT. Tsis yog Newton's binomial, tau kawg, tab sis nws yuav ua rau peb ua piv txwv los qhia cov hauv paus ntsiab lus.

Nco ntsoov tias cov syntax ntawm ib txoj haujlwm txawv ntawm cov txheej txheem:

  • kev tsim kho yog siv Muaj nuj nqi…. End Function es tsis txhob Sub… End Sub
  • Tom qab lub npe ntawm lub luag haujlwm, nws cov lus sib cav tau qhia hauv cov kab ke
  • nyob rau hauv lub cev ntawm kev ua haujlwm, cov kev suav tsim nyog tau ua thiab tom qab ntawd cov txiaj ntsig tau muab rau qhov sib txawv nrog lub npe ntawm cov haujlwm.

Tsis tas li ntawd nco ntsoov tias txoj haujlwm no tsis xav tau, thiab nws tsis tuaj yeem khiav zoo li cov txheej txheem macro yav dhau los los ntawm lub dialog box Ntsig thiab khawm khiav. Xws li kev ua haujlwm macro yuav tsum tau siv los ua tus qauv ua haujlwm (SUM, IF, VLOOKUP…), piv txwv li tsuas yog nkag mus rau hauv ib lub xovtooj, qhia tus nqi ntawm tus nqi nrog VAT raws li kev sib cav:

… los yog nkag mus rau hauv lub thawv txheem txheem rau kev ntxig ib txoj haujlwm (khawm fx nyob rau hauv lub formula bar), xaiv ib qeb Neeg Siv Li (User Defined):

Tib lub sijhawm tsis txaus siab ntawm no yog qhov tsis muaj cov lus piav qhia li niaj zaus ntawm kev ua haujlwm hauv qab ntawm lub qhov rais. Txhawm rau ntxiv nws koj yuav tsum ua cov hauv qab no:

  1. Qhib Visual Basic Editor nrog lub keyboard shortcut Alt+F11
  2. Xaiv qhov add-in hauv Project vaj huam sib luag thiab nias tus yuam sij F2mus qhib Object Browser qhov rai
  3. Xaiv koj qhov project add-in los ntawm cov npe drop-down nyob rau sab saum toj ntawm lub qhov rais
  4. Txoj cai-nias rau ntawm txoj haujlwm uas tshwm sim thiab xaiv cov lus txib Properties.
  5. Sau cov lus piav qhia ntawm cov haujlwm hauv lub qhov rais Hauj lwm
  6. Txuag cov ntaub ntawv ntxiv thiab restart excel.

Tom qab rov pib dua, txoj haujlwm yuav tsum tso saib cov lus piav qhia peb nkag mus:

Kauj ruam 5. Tsim ib tug add-on tab nyob rau hauv lub interface

Qhov kawg, txawm tias tsis tas yuav tsum tau ua, tab sis kev kov zoo siab yuav yog kev tsim cov tab sib cais nrog lub pob kom khiav peb cov macro, uas yuav tshwm sim hauv Excel interface tom qab txuas peb ntxiv.

Cov ntaub ntawv hais txog cov tabs uas tshwm sim los ntawm lub neej ntawd yog muaj nyob rau hauv phau ntawv thiab yuav tsum tau formatted nyob rau hauv ib tug tshwj xeeb XML code. Txoj hauv kev yooj yim tshaj plaws los sau thiab kho cov cai no yog nrog kev pab ntawm cov kev pabcuam tshwj xeeb - XML ​​​​cov kws kho. Ib qho yooj yim tshaj plaws (thiab dawb) yog Maxim Novikov qhov kev pab cuam Ribbon XML Editor.

Lub algorithm rau kev ua hauj lwm nrog nws yog raws li nram no:

  1. Kaw txhua lub qhov rais Excel kom tsis muaj cov ntaub ntawv tsis sib haum xeeb thaum peb hloov kho qhov ntxiv-hauv XML code.
  2. Tua tawm Ribbon XML Editor program thiab qhib peb cov ntaub ntawv MyExcelAddin.xlam hauv nws
  3. Nrog khawm tabs nyob rau sab laug ces kaum, ntxiv cov code snippet rau lub tab tshiab:
  4. Koj yuav tsum tau muab tso rau hauv qhov khoob khoob id peb tab thiab pab pawg (txhua tus cim tshwj xeeb), thiab hauv daim ntawv lo - cov npe ntawm peb tab thiab ib pawg ntawm cov nyees khawm ntawm nws:
  5. Nrog khawm khawm nyob rau sab laug vaj huam sib luag, ntxiv ib tug dawb paug code rau lub khawm thiab ntxiv tag rau nws:

    - daim ntawv lo yog cov ntawv ntawm lub pob

    — ImageMso - qhov no yog lub npe raws cai ntawm daim duab ntawm lub pob. Kuv siv lub khawm liab hu ua AnimationCustomAddExitDialog. Cov npe ntawm tag nrho cov nyees khawm muaj (thiab muaj ntau pua ntawm lawv!) tuaj yeem pom ntawm ntau qhov chaw hauv Is Taws Nem yog tias koj tshawb nrhiav cov ntsiab lus "imageMso". Txhawm rau pib, koj tuaj yeem mus ntawm no.

    - onAction - qhov no yog lub npe ntawm txoj kev hu rov qab - qhov tshwj xeeb luv luv macro uas yuav khiav peb lub ntsiab macro FormulasToValues. Koj tuaj yeem hu rau tus txheej txheem no txawm koj nyiam. Peb yuav ntxiv nws me ntsis tom qab.

  6. Koj tuaj yeem tshawb xyuas qhov tseeb ntawm txhua yam ua tiav siv lub pob nrog lub cim kos ntsuab nyob rau sab saum toj ntawm lub toolbar. Nyob rau tib qhov chaw, nyem rau ntawm lub pob nrog floppy disk kom txuag tau txhua qhov kev hloov pauv.
  7. Kaw lub Ribbon XML Editor
  8. Qhib Excel, mus rau Visual Basic editor thiab ntxiv cov txheej txheem hu rov qab rau peb cov macro KillFormulaskom nws khiav peb lub ntsiab macro hloov cov qauv nrog cov nqi.
  9. Peb khaws cov kev hloov pauv thiab, rov qab mus rau Excel, tshawb xyuas qhov tshwm sim:

Ntawd yog tag nrho - qhov add-in yog npaj siv. Sau nws nrog koj tus kheej cov txheej txheem thiab kev ua haujlwm, ntxiv cov nyees khawm zoo nkauj - thiab nws yuav yooj yim dua los siv macros hauv koj txoj haujlwm.

  • Dab tsi yog macro, siv lawv li cas hauv koj txoj haujlwm, qhov twg kom tau txais macro code hauv Visual Basic.
  • Yuav ua li cas ua ib qho screen txaws thaum qhib phau ntawv ua haujlwm hauv Excel
  • Phau Ntawv Tus Kheej Macro yog dab tsi thiab siv nws li cas

Sau ntawv cia Ncua