Aquest exemple de complement d'Excel tracta els passos bàsics per crear un complement útil que podeu utilitzar per empaquetar els vostres procediments VBA. Aquest exemple d'Excel VBA es basa en la utilitat de conversió de text Canvia majúscules.
Configuració del llibre de treball Excel
El llibre de treball d'Excel consta d'un full de treball en blanc, un mòdul VBA i un formulari d'usuari.
La versió original de la utilitat inclou opcions per a majúscules, minúscules i majúscules correctes. La versió del complement inclou dues opcions al UserForm, de manera que té les mateixes opcions que l'eina integrada de Microsoft Word:
- Cas de la frase: posa la primera lletra en majúscula i totes les altres lletres en minúscula.
- Alterna majúscules: tots els caràcters majúscules es converteixen en minúscules i viceversa.
Aquesta imatge mostra UserForm1. Els cinc controls OptionButton es troben dins d'un control Frame. A més, el formulari d'usuari té un botó Cancel·la (anomenat CancelButton) i un botó D'acord (anomenat OKButton).

El formulari d'usuari per al complement de canvi de cas.
El codi que s'executa quan es fa clic al botó Cancel·la és molt senzill. Aquest procediment descarrega el formulari d'usuari sense cap acció:
Privat Sub CancelButton_Click()
Descarregueu UserForm1
End Sub
A continuació es mostra el codi que s'executa quan es fa clic al botó D'acord. Aquest codi fa tot el treball:
Sub privat OKButton_Click()
Atenuar les cèl·lules de text com a rang
Atenuar la cel·la com a rang
Atenuar el text com a cadena
Dim i As Long
' Creeu un objecte només amb constants de text
En cas d'error Reprèn Següent
Estableix TextCells = Selection.SpecialCells(xlConstants, xlTextValues)
' Desactiva l'actualització de la pantalla
Application.ScreenUpdating = Fals
' Recorre les cel·les
Per a cada cel·la de TextCells
Text = cel·la.Valor
Seleccioneu Cas Veritable
Opció de minúscules minúscules
valor.cel·la = LCase(Valor.cel·la)
Opció de majúsculesUpper 'MAJÚSCULES
cel·la.Valor = UCase(cel·la.Valor)
Case OptionProper 'Cas adequat
cell.Value = WorksheetFunction.Proper(cell.Value)
Case OptionSentence 'Cas de la frase
Text = UCase (Esquerra (cel·la.Valor, 1))
Text = Text i LCase (Mid(cel·la.Valor, 2, Len(cel·la.Valor)))
cel·la.Valor = Text
Opció de majúsculesToggle 'tOGGLE CASE
Per i = 1 a Len(Text)
Si Mitjana (Text, i, 1) Com "[AZ]" Aleshores
Mitjà (Text, i, 1) = LCase (Mitjana (Text, i, 1))
Altrament
Mitjà (Text, i, 1) = UCase (Mitjana (Text, i, 1))
Acaba si
A continuació i
cel·la.Valor = Text
Finalitzar la selecció
Pròxim
' Descarregueu el quadre de diàleg
Descarregueu UserForm1
End Sub
Prova el quadern d'Excel
Proveu el complement d'Excel abans de convertir aquest llibre de treball. Per simular el que passa quan el llibre de treball és un complement, hauríeu de provar el llibre de treball quan hi hagi un altre llibre d'Excel actiu. Com que un complement d'Excel no és mai el full actiu o el llibre de treball, provar-lo quan hi ha un llibre de treball diferent pot ajudar-vos a identificar alguns errors potencials.
Obriu un llibre de treball nou i introduïu informació en algunes cel·les.
Amb finalitats de prova, introduïu diversos tipus d'informació, com ara text, valors i fórmules. O simplement obriu un llibre de treball existent i utilitzeu-lo per a les vostres proves. Recordeu que els canvis al quadern de treball no es poden desfer, per la qual cosa és possible que vulgueu utilitzar una còpia.
Seleccioneu una o més cel·les (o files i columnes senceres).
Executeu la macro Canviar majúscules escollint la nova ordre Canviar majúscules al menú de drecera de la vostra cel·la (o fila o columna).
Si l'ordre Canvia majúscules i minúscules no apareix al menú de drecera, el motiu més probable és que no vau habilitar les macros quan vau obrir el quadern de canvi de cas.xlsm. Tanqueu el llibre de treball i torneu-lo a obrir, i assegureu-vos que activeu les macros.
Afegeix informació descriptiva al complement d'Excel
Tot i que no és obligatori, es considera una bona pràctica introduir una descripció del vostre complement d'Excel . Seguiu aquests passos per afegir una descripció:
Activeu el llibre de treball de canvi de cas.xlsm.
Trieu Fitxer → Informació i feu clic a Mostra totes les propietats a la part inferior dreta.
Excel amplia la llista de Propietats.
Introduïu un títol per al complement al camp Títol.
Aquest text apareix a la llista de complements del quadre de diàleg Complements. Per a aquest exemple, introduïu Canvia majúscules i minúscules.
Al camp Comentaris, introduïu una descripció.
Aquesta informació apareix a la part inferior del quadre de diàleg Complements quan se selecciona el complement. Per a aquest exemple, introduïu
Canvia el cas del text a les cel·les seleccionades.
Accediu a aquesta utilitat mitjançant el menú de drecera.
Aquesta imatge mostra la secció Propietats amb els camps Títol i Comentaris emplenats.
![Exemples d'Excel VBA: ús d'un complement d'Excel per empaquetar els vostres procediments VBA]()
Utilitzeu la secció Propietats per introduir informació descriptiva sobre el vostre complement.
Protecció del codi VBA
Si voleu afegir una contrasenya per evitar que altres persones vegin el codi VBA , seguiu aquests passos:
Activeu el VBE i seleccioneu el llibre de treball de canvi de cas.xlsm a la finestra Projecte.
Trieu Eines → Propietats de VBAProject i feu clic a la pestanya Protecció del quadre de diàleg que apareix.
Marqueu la casella de selecció Bloqueja el projecte per a la visualització i introduïu una contrasenya (dues vegades).
Feu clic a D'acord.
Deseu el llibre de treball escollint Fitxer → Desa al VBE o tornant a la finestra d'Excel i escollint Fitxer → Desa.
Creació del complement d'Excel
En aquest punt, heu provat el fitxer change case.xlsm i funciona correctament. El següent pas és crear el complement. Seguiu aquests passos:
Si cal, reactiva Excel.
Activeu el llibre de treball de canvi de case.xlsm i seleccioneu Fitxer → Desa com a → Navega.
Excel mostra el seu quadre de diàleg Desa com a.
Al menú desplegable Desa com a tipus, trieu Complement (*.xlam).
Especifiqueu la ubicació i feu clic a Desa.
Es crea un fitxer de complement nou (amb una extensió .xlam) i la versió XLSM original roman oberta.
Obrint el complement d'Excel
Per evitar confusions, tanqueu el llibre de treball XLSM abans d'obrir el complement que heu creat a partir d'aquest llibre.
Obriu el complement seguint aquests passos:
Trieu Desenvolupador → Complements → Complements (o premeu Alt+TI).
Excel mostra el quadre de diàleg Complements.
Feu clic al botó Navega.
Localitzeu i seleccioneu el complement que acabeu de crear.
Feu clic a D'acord per tancar el quadre de diàleg Navega.
Després de trobar el vostre nou complement, el quadre de diàleg Complements mostra el complement. Com es mostra a continuació, el quadre de diàleg Complements també mostra la informació descriptiva que heu proporcionat al tauler Propietats del document.
![Exemples d'Excel VBA: ús d'un complement d'Excel per empaquetar els vostres procediments VBA]()
El quadre de diàleg Complements té el nou complement seleccionat.
Assegureu-vos que el vostre nou complement estigui seleccionat al quadre de diàleg Complements.
Feu clic a D'acord per tancar el quadre de diàleg.
Excel obre el complement. Ara el podeu utilitzar amb tots els vostres llibres de treball. Mentre es mantingui seleccionat al quadre de diàleg Complements, el complement s'obre cada vegada que inicieu Excel.
Distribució del complement d'Excel
Si esteu d'humor generós, podeu distribuir aquest complement a altres usuaris d'Excel simplement donant-los una còpia del fitxer XLAM. (No necessiten la versió XLSM.) Quan obren el complement, la nova ordre Canvia majúscules i minúscules apareix al menú de drecera quan seleccionen un rang, una o més files o una o més columnes. Si bloquegeu el projecte VBA amb una contrasenya, els altres no podran veure el vostre codi de macro tret que coneguin la contrasenya.
Modificació del complement d'Excel
Un complement es pot editar com qualsevol altre llibre de treball. Podeu editar el fitxer XLAM directament (no cal que treballeu amb la versió XLSM original) seguint aquests passos:
Obriu el vostre fitxer XLAM, si encara no està obert.
Activeu el VBE. Feu doble clic al nom del projecte a la finestra Projecte.
Si heu protegit el codi, se us demanarà la contrasenya.
Introduïu la vostra contrasenya i feu clic a D'acord.
Feu els vostres canvis al codi.
Deseu el fitxer escollint Fitxer → Desa.
Si creeu un complement que emmagatzema informació en un full de treball, heu d'establir la propietat IsAddIn del llibre de treball a False per veure el llibre de treball. Ho feu a la finestra Propietats quan l'objecte ThisWorkbook estigui seleccionat. Després d'haver fet els canvis al llibre de treball, assegureu-vos que torneu a establir la propietat IsAddIn en True abans de desar el fitxer.
![Exemples d'Excel VBA: ús d'un complement d'Excel per empaquetar els vostres procediments VBA]()
Fer un complement no un complement.