Come assegnare una macro a un pulsante in Excel (Guida semplice)

Sebbene ci siano molti modi diversi per eseguire una macro in Excel, nessuno di questi metodi può essere facile e intuitivo come fare clic su un pulsante.

E perché funzioni, devi prima assegnare una macro a un pulsante.

In questo tutorial, ti mostrerò un paio di modi per inserire un pulsante in Excel e quindi assegnare una macro a quel pulsante (o forma). Una volta fatto, non appena un utente fa clic sul pulsante, verrà eseguito il codice VBA della macro.

Ai fini di questo tutorial, utilizzerò il seguente codice macro VBA (che seleziona semplicemente la cella A1 nel foglio attivo e inserisce il testo "Buongiorno" e lo colora di rosso).

Sub GoodMorning() With ActiveSheet.Range("A1") .Value = "Good Morning" .Interior.Color = vbRed End With End Sub

Il codice VBA sopra è inserito in un modulo normale nell'editor VB

Ora tuffiamoci subito e vediamo come è possibile assegnare questa macro a un pulsante o una forma in Excel!

Inserisci una forma e assegna una macro a quella forma

Mentre ci sono pulsanti dedicati che puoi inserire nel foglio di lavoro e quindi assegnargli la macro, prima coprirò come assegnare una macro a una forma.

Personalmente amo questo metodo e lo preferisco agli altri due metodi trattati in seguito. Puoi facilmente inserire una forma (quadrata o rettangolare) e farla sembrare un pulsante.

E poiché è una forma, puoi facilmente formattarla in modo che appaia perfetta con la formattazione esistente o i colori del marchio.

Di seguito sono riportati i passaggi per inserire una forma in Excel:

  1. Fare clic sulla scheda Inserisci
  2. Nel gruppo delle illustrazioni, fai clic su Forme
  3. Nelle opzioni Forme, fai clic sull'opzione Rettangolo. Noterai che il tuo cursore si trasforma in un'icona più
  4. Fare clic in un punto qualsiasi del foglio di lavoro. Questo inserirà una forma rettangolare nel foglio di lavoro.
  5. Ridimensiona il rettangolo e formattalo (dagli un bordo, un colore, una sfumatura se vuoi).

Dopo aver eseguito i passaggi precedenti, avrai una forma rettangolare nel foglio di lavoro e ora assegneremo una macro a questa forma.

Nota che ho inserito una forma rettangolare in questo esempio, ma puoi inserire qualsiasi forma tu voglia (come un cerchio, un triangolo o una freccia). Preferisco usare un rettangolo e sembra un pulsante ed è più intuitivo.

Vediamo ora come assegnare una macro a questa forma.

  1. Fare clic con il pulsante destro del mouse sulla forma a cui si desidera assegnare la macro
  2. Nelle opzioni di menu visualizzate, fai clic su "Assegna macro". Questo aprirà la finestra di dialogo Assegna macro
  3. Nella finestra di dialogo Assegna macro, vedrai un elenco di tutte le macro che hai nella cartella di lavoro
  4. Fare clic sul nome della macro che si desidera assegnare a questa forma. In questo esempio, farò clic sulla macro denominata "Buongiorno"
  5. Fare clic su OK

Questo è tutto!

La macro selezionata è stata ora assegnata alla forma.

Ora, quando passi il cursore sulla forma, mostrerà l'icona della mano. che indica che ora questa forma è diventata cliccabile.

E ora se fai clic sulla forma, eseguirà la macro assegnata.

Puoi digitare qualsiasi testo all'interno della forma per renderlo più intuitivo (ad esempio "Fai clic qui per eseguire la macro"). Per fare questo. fare clic con il tasto destro sulla forma e quindi fare clic su Modifica testo. Ora puoi digitare all'interno della forma della casella di testo.

Nota che non sarai in grado di fare clic ed eseguire la macro quando la forma è stata selezionata (cioè, vedi un bordo attorno alla forma che appare quando la selezioni). Per renderla cliccabile, premi il tasto Esc o fai clic ovunque nel foglio di lavoro.

Inoltre, quando hai già assegnato la macro alla forma, non sarai in grado di selezionarla utilizzando il tasto sinistro del mouse (poiché è diventato cliccabile e il clic sinistro ora eseguirà la macro). In tal caso, seleziona la forma, tieni premuto il tasto Ctrl e quindi premi il tasto sinistro.

Mantenere la forma visibile quando si nascondono/ridimensionano righe/colonne

In Excel. quando inserisci una forma, questa si trova sopra le celle, come un grafico/oggetto.

Questo ha anche uno svantaggio che quando ridimensioni o nascondi righe/colonne che hanno la forma sopra, anche la forma segue l'esempio.

Nell'esempio seguente, la forma viene nascosta quando nascondo la colonna su cui è posizionata.

Se non vuoi che ciò accada, segui i passaggi seguenti:

  1. Fare clic con il tasto destro sulla forma
  2. Fare clic su Formato forma
  3. Nel riquadro Formato forma (o finestra di dialogo nel caso in cui utilizzi Excel 2010 o versioni precedenti), seleziona Dimensioni e proprietà
  4. Nelle opzioni Proprietà, seleziona l'opzione - "Non spostare o ridimensionare con le celle"
  5. Chiudi il riquadro (o la finestra di dialogo)

Ora, quando ridimensioni righe/colonne o le nascondi, la forma rimarrebbe al suo posto.

Assegna una macro al pulsante di controllo del modulo

Se non sei troppo preoccupato per la formattazione del pulsante e stai bene con i normali pulsanti grigi, puoi inserirlo rapidamente dal controllo del modulo (o dal controllo ActiveX come mostrato di seguito) e quindi assegnargli una macro.

Perché funzioni, dovrai avere la scheda Sviluppatore nella barra multifunzione. Se non ce l'hai, ecco un tutorial dettagliato passo passo su come ottenere la scheda sviluppatore nella barra multifunzione di Excel.

Una volta che hai la scheda sviluppatore visibile, puoi utilizzare i passaggi seguenti per inserire rapidamente un pulsante e assegnargli una macro:

  1. Fare clic sulla scheda Sviluppatore
  2. Nel gruppo Controllo, fare clic su Inserisci.
  3. Nelle opzioni visualizzate, nelle opzioni Controlli modulo, fare clic sull'opzione Pulsante (Controllo modulo).
  4. Fare clic in un punto qualsiasi del foglio di lavoro. Questo inserirà il pulsante ovunque si fa clic e si aprirà automaticamente la finestra di dialogo "Assegna macro".
  5. Nella finestra di dialogo Assegna macro, vedrai un elenco di tutte le macro che hai nella cartella di lavoro
  6. Fare clic sul nome della macro che si desidera assegnare a questo pulsante. In questo esempio, farò clic sulla macro denominata "Buongiorno"
  7. Fare clic su OK

I passaggi precedenti inserirebbero un pulsante a cui è assegnata la macro specificata.

Per impostazione predefinita, sarebbe un piccolo pulsante con testo come "Pulsante" scritto su di esso. Puoi cambiare il testo in quello che vuoi e puoi anche cambiare la forma del pulsante (trascinando i bordi).

Poiché si tratta di un oggetto posizionato sul foglio di lavoro (proprio come forme/grafici), puoi trascinarlo e posizionarlo ovunque nel foglio di lavoro.

Uno svantaggio dell'utilizzo del pulsante Controllo modulo è che non si ha molto controllo sulla formattazione. Ad esempio, non puoi cambiare il colore da grigio a qualcos'altro.

Sebbene ci sia un po 'di formattazione che puoi fare con un pulsante di controllo modulo, non è affatto vicino a ciò che puoi fare con le forme.

Ottieni queste opzioni di formattazione del pulsante quando fai clic con il pulsante destro del mouse sul pulsante e quindi fai clic su Controllo formato.

Si aprirà la finestra di dialogo Controllo formato in cui è possibile modificare il tipo/colore del carattere, la dimensione, l'allineamento, ecc.

Un aspetto positivo di questo pulsante è che non si nasconde o ridimensiona quando si nascondono le righe/colonne o le si ridimensiona. Tuttavia, si sposterebbe nel caso in cui si modificasse l'altezza o la larghezza o la riga/colonna su cui è posizionato il pulsante.

Nel caso in cui non desideri che il pulsante rimanga al suo posto, puoi modificare l'impostazione seguendo i passaggi seguenti:

  1. Fare clic con il pulsante destro del mouse sul pulsante
  2. Fare clic su Controllo formato
  3. Fare clic sulla scheda Proprietà
  4. Seleziona l'opzione - "Non spostare o ridimensionare con le celle"
  5. Fare clic su OK

Assegna una macro a un pulsante di controllo ActiveX

Oltre al pulsante di controllo modulo, esiste anche un pulsante di controllo ActiveX a cui è possibile assegnare una macro.

Nella maggior parte dei casi, non sarà necessario utilizzare il pulsante di controllo ActiveX e ti consiglio di utilizzarlo solo quando capisci completamente di cosa si tratta e sai cosa stai facendo.

Ti chiedi perché abbiamo due diversi tipi di pulsanti: Form Control e ActiveX? Mentre i controlli modulo sono integrati nell'applicazione Excel, ActiveX viene caricato da una DLL separata (librerie di collegamento dinamico). Ciò rende i pulsanti di controllo del modulo molto più robusti e affidabili rispetto ai pulsanti ActiveX. Puoi leggere di più su questa differenza qui in un post in StackOverflow.

Anche questo, a volte, rende ActiveX un po' glitch e imprevedibile. Quindi, mentre lo tratterò in questo tutorial, non consiglio di utilizzare il pulsante ActiveX e di assegnargli una macro.

Per inserire un pulsante ActiveX e quindi assegnargli una macro, seguire i passaggi seguenti:

  1. Fare clic sulla scheda Sviluppatore
  2. Nel gruppo Controllo, fare clic su Inserisci.
  3. Nelle opzioni visualizzate, nelle opzioni dei controlli ActiveX, fare clic sull'opzione Pulsante di comando.
  4. Fare clic in un punto qualsiasi del foglio di lavoro. Questo inserirà il pulsante ovunque clicchi.
  5. Fare doppio clic sul pulsante e si aprirà il backend VB Editor in cui è possibile inserire il codice per il pulsante ActiveX

Con il controllo ActiveX, ottieni molta più flessibilità con un solo pulsante. Ad esempio, è possibile specificare una macro da eseguire quando si fa semplicemente clic sul pulsante una volta e un'altra macro quando si fa doppio clic o anche un'altra quando si utilizza il tasto freccia su/giù.

Ancora una volta, non è qualcosa che devi usare nel tuo lavoro normale.

Un'altra opzione da prendere in considerazione (quando si lavora con pulsanti/forme e si assegnano macro) è aggiungere la macro alla barra di accesso rapido. In questo modo, puoi eseguire la macro con un solo clic ed è sempre visibile nel QAT.

Spero che tu abbia trovato utile questo tutorial. Se sei interessato all'apprendimento di VBA, puoi consultare tutorial VBA di Excel più approfonditi qui.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave