See Exceli lisandmooduli näide käsitleb VBA protseduuride pakkimiseks kasutatava kasuliku lisandmooduli loomise põhietappe. See Exceli VBA näide põhineb teksti teisendamise utiliidil Change Case.
Exceli töövihiku seadistamine
Exceli töövihik koosneb ühest tühjast töölehest, VBA moodulist ja kasutajavormist.
Utiliidi algversioon sisaldab valikuid suurtähtede, väiketähtede ja õigete tähtede jaoks. Lisandmooduli versioon sisaldab UserFormi kahte valikut, nii et sellel on samad valikud, mis Microsoft Wordi sisseehitatud tööriistal:
- Lause suurtähtede : muudab esimese tähe suurtäheks ja kõik teised tähed väiketähtedeks.
- Lülitage suurtähed : kõik suurtähed teisendatakse väiketähtedeks ja vastupidi.
See pilt näitab UserForm1. Viis OptionButtoni juhtelementi on raami juhtelemendi sees. Lisaks on UserFormil nupp Tühista (nimega CancelButton) ja nupp OK (nimega OKButton).

Lisandmooduli Change Case kasutajavorm.
Nupu Tühista klõpsamisel käivitatav kood on väga lihtne. See protseduur laadib kasutajavormi maha ilma midagi ette võtmata:
Privaatne Sub CancelButton_Click()
Laadi kasutajavorm1 maha
Lõpeta alam
Järgneb kood, mis käivitatakse nupu OK klõpsamisel. See kood teeb kogu töö:
Privaatne alam OKButton_Click()
Dim TextCells as Range
Dim cell as Range
Hämarda tekst stringina
Dim i As Long
Looge objekt ainult tekstikonstantidega
Vea korral Jätka järgmisena
Set TextCells = Selection.SpecialCells(xlConstants, xlTextValues)
"Lülita ekraani värskendamine välja
Application.ScreenUpdating = Vale
"Pöörake läbi rakkude
Iga lahtri jaoks tekstilahtrites
Tekst = lahter.Väärtus
Valige Tõene suurtäht
Case OptionLower 'väikesed tähed
lahter.Väärtus = LCase(lahter.Väärtus)
Case OptionUpper 'SUURTÄHED
lahter.Väärtus = UCase(lahter.Väärtus)
Case OptionProper 'Proper Case
cell.Value = Töölehe funktsioon.Proper(lahter.Väärtus)
Case OptionSentence 'Lause suurjuht
Tekst = UCase(vasak(lahter.Väärtus, 1))
Tekst = Tekst & LCase(Kesk(lahter.Väärtus, 2, Len(lahter.Väärtus)))
cell.Value = Tekst
Case OptionLülitage TÄHTJUHT VÄLJA
Kui i = 1 kuni Len (tekst)
Kui keskmine (tekst, i, 1) meeldib "[AZ]", siis
Keskmine (tekst, i, 1) = LCase (keskmine (tekst, i, 1))
Muidu
Keskmine(tekst, i, 1) = UCase(keskmine(tekst, i, 1))
Lõpeta Kui
Järgmine i
cell.Value = Tekst
Lõpeta Vali
Edasi
Laadige dialoogiboks maha
Laadi kasutajavorm1 maha
Lõpeta alam
Exceli töövihiku testimine
Enne selle töövihiku teisendamist testige Exceli lisandmoodulit. Et simuleerida, mis juhtub, kui töövihik on lisandmoodul, peaksite töövihikut testima, kui mõni muu Exceli töövihik on aktiivne. Kuna Exceli lisandmoodul ei ole kunagi aktiivne leht või töövihik, võib selle testimine, kui avatud on mõni muu töövihik, aidata teil tuvastada võimalikke vigu.
Avage uus töövihik ja sisestage teave mõnesse lahtrisse.
Testimise eesmärgil sisestage erinevat tüüpi teavet, sealhulgas tekst, väärtused ja valemid. Või lihtsalt avage olemasolev töövihik ja kasutage seda oma testide jaoks. Pidage meeles, et töövihiku muudatusi ei saa tagasi võtta, seega võiksite kasutada koopiat.
Valige üks või mitu lahtrit (või terveid ridu ja veerge).
Käivitage makro ChangeCase, valides oma lahtri (või rida või veeru) kiirmenüüst uue käsu Change Case.
Kui käsku Change Case ei kuvata teie kiirmenüüs, on kõige tõenäolisem põhjus selles, et te ei lubanud töövihiku change case.xlsm avamisel makrosid. Sulgege töövihik ja seejärel avage see uuesti – ja veenduge, et oleksite makrod lubanud.
Kirjeldava teabe lisamine oma Exceli lisandmoodulisse
Kuigi see pole kohustuslik, peetakse parimaks tavaks Exceli lisandmooduli kirjelduse sisestamist . Kirjelduse lisamiseks järgige neid samme.
Aktiveerige töövihik Change case.xlsm.
Valige Fail → Teave ja klõpsake paremas alanurgas nuppu Kuva kõik atribuudid.
Excel laiendab atribuutide loendit.
Sisestage väljale Pealkiri lisandmooduli pealkiri.
See tekst kuvatakse dialoogiboksis Lisandmoodulid lisandmoodulite loendis. Selle näite jaoks sisestage Change Case.
Sisestage väljale Kommentaarid kirjeldus.
Kui lisandmoodul on valitud, kuvatakse see teave dialoogiboksi Lisandmoodulite allosas. Selle näite jaoks sisestage
Muudab valitud lahtrites oleva teksti suurtähte.
Sellele utiliidile pääsete juurde kiirmenüü kaudu.
Sellel pildil on jaotis Atribuudid täidetud pealkirja ja kommentaaride väljadega.

Kasutage oma lisandmooduli kohta kirjeldava teabe sisestamiseks jaotist Atribuudid.
VBA koodi kaitsmine
Kui soovite lisada parooli, et takistada teistel VBA- koodi vaatamist , toimige järgmiselt.
Aktiveerige VBE ja valige projektiaknas töövihik change case.xlsm.
Valige Tööriistad → VBAProject Properties ja klõpsake kuvatavas dialoogiboksis vahekaarti Kaitse.
Märkige ruut Lukusta projekt vaatamiseks ja sisestage parool (kaks korda).
Klõpsake nuppu OK.
Salvestage töövihik, valides VBE-s Fail → Salvesta või minnes tagasi Exceli aknasse ja valides Fail → Salvesta.
Exceli lisandmooduli loomine
Siinkohal olete testinud faili change case.xlsm ja see töötab õigesti. Järgmine samm on lisandmooduli loomine. Järgige neid samme.
Vajadusel aktiveerige Excel uuesti.
Aktiveerige töövihik change case.xlsm ja valige Fail → Salvesta nimega → Sirvi.
Excel kuvab dialoogiboksi Salvesta nimega.
Valige rippmenüüst Salvesta tüübina valik Lisandmoodul (*.xlam).
Määrake asukoht ja klõpsake nuppu Salvesta.
Luuakse uus lisandmoodul (.xlam-laiendiga) ja algne XLSM-versioon jääb avatuks.
Exceli lisandmooduli avamine
Segaduste vältimiseks sulgege XLSM-i töövihik enne selle töövihiku põhjal loodud lisandmooduli avamist.
Avage lisandmoodul, järgides neid samme.
Valige Arendaja → Lisandmoodulid → Lisandmoodulid (või vajutage Alt+TI).
Excel kuvab dialoogiboksi Lisandmoodulid.
Klõpsake nuppu Sirvi.
Otsige üles ja valige äsja loodud lisandmoodul.
Dialoogiboksi Sirvi sulgemiseks klõpsake nuppu OK.
Pärast uue lisandmooduli leidmist kuvatakse dialoogiboksis Lisandmoodulid lisandmoodul. Nagu allpool näidatud, kuvab dialoogiboks Lisandmoodulid ka kirjeldavat teavet, mille esitasite paneelil Dokumendi atribuudid.

Dialoogiboksis Lisandmoodulid on valitud uus lisandmoodul.
Veenduge, et dialoogiboksis Lisandmoodulid oleks valitud teie uus lisandmoodul.
Dialoogiboksi sulgemiseks klõpsake nuppu OK.
Excel avab lisandmooduli. Nüüd saate seda kasutada kõigi oma töövihikutega. Kuni see jääb dialoogiboksis Lisandmoodulid valituks, avaneb lisandmoodul iga kord, kui käivitate Exceli.
Exceli lisandmooduli levitamine
Kui teil on helde tuju, saate seda lisandmoodulit teistele Exceli kasutajatele levitada, lihtsalt andes neile XLAM-faili koopia. (Nad ei vaja XLSM-i versiooni.) Lisandmooduli avamisel kuvatakse kiirmenüüsse uus käsk Change Case, kui nad valivad vahemiku, ühe või mitu rida või ühe või mitu veergu. Kui lukustate VBA projekti parooliga, ei saa teised teie makrokoodi vaadata, kui nad parooli ei tea.
Exceli lisandmooduli muutmine
Lisandmoodulit saab redigeerida nagu iga teist töövihikut. Saate XLAM-faili otse redigeerida (te ei pea töötama algse XLSM-i versiooniga), järgides neid samme:
Avage oma XLAM-fail, kui see pole veel avatud.
Aktiveerige VBE. Topeltklõpsake projekti aknas projekti nimel.
Kui kaitssite koodi, küsitakse teilt parooli.
Sisestage oma parool ja klõpsake nuppu OK.
Tehke koodis muudatused.
Salvestage fail, valides Fail → Salvesta.
Kui loote lisandmooduli, mis salvestab teavet töölehel, peate töövihiku vaatamiseks määrama töövihiku atribuudi IsAddIn väärtuseks False. Seda saate teha atribuutide aknas, kui valitud on objekt ThisWorkbook. Pärast töövihikus muudatuste tegemist veenduge, et määraksite enne faili salvestamist atribuudi IsAddIn väärtuseks True.

Lisandmooduli, mitte lisandmooduli tegemine.