Com executar una macro a Excel i crear un botó de macro

  • Comparteix Això
Michael Brown

En aquest tutorial, tractarem moltes maneres diferents d'executar una macro a Excel: des de la cinta i l'Editor VB, amb una drecera de teclat personalitzada i creant el vostre propi botó de macro.

Tot i que executar una macro d'Excel és una cosa senzilla per als usuaris experimentats, pot ser que no sigui immediatament obvi per als principiants. En aquest article, aprendràs diversos mètodes per executar macros, alguns dels quals poden canviar completament la teva manera d'interaccionar amb els llibres de treball d'Excel.

    Com executar una macro des de la cinta d'Excel

    Una de les maneres més ràpides d'executar VBA a Excel és executar una macro des de la pestanya Desenvolupador . Si mai no heu tractat amb el codi VBA, és possible que hàgiu d'activar primer la pestanya Desenvolupador. A continuació, feu el següent:

    1. A la pestanya Desenvolupador , al grup Codi , feu clic a Macros . O premeu la drecera Alt + F8.
    2. Al quadre de diàleg que apareix, seleccioneu la macro d'interès i, a continuació, feu clic a Executar .

    Consell. Si la pestanya Desenvolupador no s'afegeix a la cinta d'Excel, premeu Alt + F8 per obrir el diàleg Macro .

    Executeu una macro amb una drecera de teclat personalitzada

    Si executeu una determinada macro de manera regular, podeu assignar-li una tecla de drecera. Es pot afegir una drecera mentre s'enregistra una macro nova i una d'existent. Per a això, seguiu aquests passos:

    1. A la pestanya Desenvolupador , al grup Codi , feu clic a Macros .
    2. Al quadre de diàleg Macro , feu clic a Opcions .
    3. Apareixerà el quadre de diàleg Opcions de macro . Al quadre de tecles Drecera , escriviu qualsevol lletra majúscula o minúscula que vulgueu utilitzar per a la drecera i, a continuació, feu clic a D'acord per desar els canvis.
      • Per a les lletres minúscules, la drecera és Ctrl + lletra .
      • Per a les lletres majúscules, la drecera és Ctrl + Maj + lletra .
    4. Tanqueu el quadre de diàleg Macro .

    Consell. Es recomana utilitzar sempre les combinacions de tecles majúscules per a les macros ( Ctrl + Maj + lletra ) per no anul·lar les dreceres d'Excel predeterminades. Per exemple, si assigneu Ctrl + f a una macro, perdràs la possibilitat de cridar el diàleg Cerca i substitueix .

    Un cop assignada la drecera, només has de prémer aquesta combinació de tecles per executeu la vostra macro.

    Com executar una macro des de l'Editor de VBA

    Si voleu convertir-vos en un professional d'Excel, definitivament hauríeu de saber com iniciar una macro no només des d'Excel, sinó també des de l'Editor de Visual Basic. La bona notícia és que és molt més fàcil del que podríeu esperar :)

    1. Premeu Alt + F11 per iniciar l'Editor Visual Basic.
    2. A l' Explorador de projectes finestra de l'esquerra, feu doble clic al mòdul que conté la vostra macro per obrir-la.
    3. A la finestra Codi de la dreta, veureu totes les macros enumerades al mòdul. Col·loqueu el cursor en qualsevol lloc dins demacro que voleu executar i feu una de les accions següents:
      • A la barra de menús, feu clic a Executar > Executar sub/Formulari d'usuari .
      • A la barra d'eines, feu clic al botó Executar macro (triangle verd).

      Com a alternativa, podeu utilitzar una de les dreceres següents:

      • Premeu F5 per executar tot el codi.
      • Premeu F8 per executar cada línia de codi per separat. Això és molt útil a l'hora de provar i depurar macros.

    Consell. Si t'agrada operar Excel des del teu teclat, aquest tutorial pot ser útil: les 30 dreceres de teclat d'Excel més útils.

    Com crear un botó de macro a Excel

    Les maneres tradicionals d'executar macros són no és difícil, però encara pot presentar un problema si comparteixes un llibre de treball amb algú que no té experiència amb VBA; simplement no sabrà on buscar! Per fer que l'execució d'una macro sigui realment fàcil i intuïtiva per a qualsevol, creeu el vostre propi botó de macro.

    1. A la pestanya Desenvolupador , al grup Controls , feu clic a Insereix i seleccioneu Botó a Des dels controls .
    2. Feu clic a qualsevol part del full de treball. Això obrirà el quadre de diàleg Assigna una macro .
    3. Seleccioneu la macro que voleu assignar al botó i feu clic a D'acord .
    4. S'insereix un botó al full de treball. Per canviar el text del botó, feu clic amb el botó dret i seleccioneu Edita text al menú contextual.
    5. Elimineu eltext predeterminat com ara Botó 1 i escriviu el vostre. Opcionalment, podeu formatar el text en negreta o cursiva.
    6. Si el text no encaixa al botó, feu que el control del botó sigui més gran o més petit arrossegant les nanses de mida. Quan hàgiu acabat, feu clic a qualsevol part del full per sortir del mode d'edició.

    I ara, podeu executar la macro fent clic al seu botó. La macro que hem assignat dóna format a les cel·les seleccionades com es mostra a la captura de pantalla següent:

    Consell. També podeu assignar una macro a un botó existent o a altres controls de formulari, com ara botons giratoris o barres de desplaçament. Per a això, feu clic amb el botó dret al control inserit al vostre full de treball i trieu Assigna macro al menú emergent.

    Creeu un botó de macro a partir d'un objecte gràfic

    Lamentablement , no és possible personalitzar l'aspecte dels controls dels botons, per la qual cosa el botó que vam crear fa un moment no sembla molt agradable. Per crear un botó de macro d'Excel molt bonic, podeu utilitzar formes, icones, imatges, WordArt i altres objectes.

    Com a exemple, us mostraré com podeu executar una macro fent clic a una forma:

    1. A la pestanya Insereix , al grup Il·lustracions , feu clic a Formes i seleccioneu el tipus de forma desitjat, p. rectangle amb cantonades arrodonides:
    2. Al full de treball, feu clic a on vulgueu inserir l'objecte de forma.
    3. Formateu el botó de forma com vulgueu. Per exemple, potscanvieu els colors de farciment i contorn o utilitzeu un dels estils predefinits a la pestanya Format de forma . Per afegir text a la forma, simplement feu-hi doble clic i comenceu a escriure.
    4. Per enllaçar una macro a la forma, feu clic amb el botó dret a l'objecte de la forma, trieu Assigna macro..., i després seleccioneu la macro desitjada i feu clic a D'acord .

    Ara teniu una forma que sembla un botó i executa la macro assignada cada cop que hi feu clic:

    Com afegir un botó de macro a la barra d'eines d'accés ràpid

    El botó de macro inserit en un full de treball es veu bé, però afegir un botó a tots i cadascun dels fulls requereix molt de temps. Per fer que la vostra macro preferida sigui accessible des de qualsevol lloc, afegiu-la a la barra d'eines d'accés ràpid. A continuació s'explica com:

    1. Feu clic amb el botó dret a la barra d'eines d'accés ràpid i seleccioneu Més ordres... al menú contextual.
    2. A Trieu ordres de , seleccioneu Macros .
    3. A la llista de macros, trieu la que voleu assignar al botó i feu clic a Afegeix . Això mourà la macro seleccionada a la llista de botons de la barra d'eines d'accés ràpid a la dreta.

      En aquest punt, podeu fer clic a D'acord per desar els canvis o fer un parell de personalitzacions més descrites a continuació.

    4. Si trobeu que la icona afegida per Microsoft no és adequada per a la vostra macro, feu clic a Modifica per substituir la icona predeterminada per una altra.
    5. Al quadre de diàleg Modifica el botó aixòapareix, seleccioneu una icona per al botó de macro. Opcionalment, també podeu canviar el Nom de visualització per fer-lo més fàcil d'utilitzar. A diferència del nom de la macro, el nom del botó pot contenir espais.
    6. Feu clic a D'acord dues vegades per tancar les dues finestres de diàleg.

    Fet! Ara teniu el vostre propi botó d'Excel per executar una macro:

    Com posar un botó de macro a la cinta d'Excel

    En cas que tingueu algunes macros d'ús freqüent a la vostra caixa d'eines d'Excel, és possible que la trobeu convenient tenir un grup de cintes personalitzat, digueu Les meves macros i afegir totes les macros populars a aquest grup com a botons.

    Primer, afegiu un grup personalitzat a una pestanya existent o a la vostra pròpia pestanya. Per obtenir instruccions detallades, vegeu:

    • Com crear una pestanya de cinta personalitzada
    • Com afegir un grup personalitzat

    I després, afegiu un macro al vostre grup personalitzat seguint aquests passos:

    1. Feu clic amb el botó dret a la cinta i, a continuació, feu clic a Personalitza la cinta .
    2. Al quadre de diàleg que apareix Apareix, feu el següent:
      • A les pestanyes de la llista de la dreta, seleccioneu el vostre grup personalitzat.
      • A la llista Trieu ordres de de l'esquerra, seleccioneu Macros .
      • A la llista de macros, trieu la que voleu afegir al grup.
      • Feu clic al botó Afegeix .

      Per a aquest exemple, he creat una pestanya nova anomenada Macros i un grup personalitzat anomenat Macros de format . A la captura de pantalla següent, estem afegint elmacro Format_Headers a aquest grup.

    3. La macro s'afegeix ara al grup de cinta personalitzada. Per donar un nom més amigable al botó de macro, seleccioneu-lo i feu clic a Canvia el nom :
    4. Al quadre de diàleg Canvia el nom , escriviu el nom que vulgueu al quadre Mostra el nom (es permeten espais als noms dels botons) i trieu una icona per al botó de macro. Quan hagis acabat, fes clic a D'acord.
    5. Feu clic a D'acord per desar els canvis i tancar el quadre de diàleg principal.

    Com a exemple, he posat tres botons de macro al meu Cinta d'Excel i ara podeu executar-ne qualsevol amb un clic:

    Com executar una macro en obrir un llibre de treball

    De vegades és possible que vulgueu executar una macro automàticament en obrir un llibre de treball, per per exemple, per mostrar algun missatge, executar un script o esborrar un interval determinat. Això es pot fer de dues maneres.

    Executar la macro automàticament mitjançant l'esdeveniment Workbook_Open

    A continuació es mostren els passos per crear una macro que s'executi automàticament sempre que obriu un llibre de treball específic:

    1. Obre el llibre de treball on voleu que s'executi la macro.
    2. Premeu Alt + F11 per obrir l'Editor de Visual Basic.
    3. A l'Explorador de projectes, feu doble clic a Aquest Workbook per obrir la seva finestra de codi.
    4. A la llista Objecte que hi ha a sobre de la finestra de codi, seleccioneu Workbook . Això crea un procediment buit per a l'esdeveniment Open al qual podeu afegir el vostre propi codi tal com es mostra a la captura de pantallaa continuació.

    Per exemple, el codi següent mostrarà un missatge de benvinguda cada vegada que s'obri el llibre de treball:

    Private Sub Workbook_Open() MsgBox "Benvingut a l'informe mensual!" End Sub

    Activar una macro en obrir el llibre de treball amb l'esdeveniment Auto_Open

    Una altra manera d'executar una macro automàticament en obrir el llibre de treball és mitjançant l'esdeveniment Auto_Open. A diferència de l'esdeveniment Workbook_Open, Auto_Open() hauria de situar-se en un mòdul de codi estàndard, no en ThisWorkbook .

    A continuació es mostren els passos per crear aquesta macro:

    1. A l' Explorador de projectes , feu clic amb el botó dret a Mòduls i, a continuació, feu clic a Insereix > Mòdul .
    2. A a la finestra Codi , escriviu el codi següent:

    A continuació es mostra un exemple del codi real que mostra un quadre de missatge a l'obertura del llibre de treball:

    Sub Auto_Open () MsgBox "Benvingut a l'informe mensual!" End Sub

    Nota! L'esdeveniment Auto_Open està obsolet i està disponible per a compatibilitat enrere. En la majoria dels casos, es pot substituir per l'esdeveniment Workbook_Open . Per obtenir més informació, vegeu Workbook_Open vs. Auto_Open.

    Sigui quin sigui l'esdeveniment que utilitzeu, la macro s'executarà automàticament cada vegada que obriu el fitxer Excel que conté el codi. En el nostre cas, es mostra el següent quadre de missatge:

    Ara que coneixeu moltes maneres d'executar una macro a Excel, només cal que escolliu la que millor s'adapti a les vostres necessitats. Us agraeixo la lectura i esperoens veiem al nostre blog la setmana vinent!

    Michael Brown és un entusiasta de la tecnologia dedicat amb una passió per simplificar processos complexos mitjançant eines de programari. Amb més d'una dècada d'experiència en la indústria tecnològica, ha perfeccionat les seves habilitats en Microsoft Excel i Outlook, així com en Google Sheets i Docs. El bloc de Michael es dedica a compartir els seus coneixements i experiència amb altres persones, oferint consells i tutorials fàcils de seguir per millorar la productivitat i l'eficiència. Tant si sou un professional experimentat com si sou un principiant, el bloc de Michael ofereix valuoses idees i consells pràctics per treure el màxim profit d'aquestes eines de programari essencials.