Home
Impara a registrare le macro in Excel

17 Dicembre 2018

Impara a registrare le macro in Excel

di

Vai oltre le funzioni di base del tuo foglio elettronico, con l’obiettivo di facilitarti il lavoro (e magari delegarlo al PC).

Il metodo più facile per creare una macro è registrarla, utilizzando l’apposita funzione disponibile in Excel. In questo articolo presenteremo le procedure di registrazione e di gestione a vario titolo delle macro così create.

Uso del registratore

Il registratore di macro può essere avviato dalla scheda Visualizza della barra multifunzione, che contiene il gruppo Macro nel quale si trova il pulsante Macro. Facendo clic sulla freccia del pulsante viene visualizzato un menu contenente la voce Registra macro. Facendo clic su Registra macro viene visualizzata una finestra di dialogo (visibile nella prossima figura) contenente le opzioni illustrate di seguito.

La finestra di creazione di una macro mediante il registratore

La finestra di creazione di una macro mediante il registratore.

  • La casella Nome macro consente di assegnare un nome che renda facilmente individuabile la macro e aiuti a comprenderne lo scopo.
  • La casella Tasto di scelta rapida permette di associare a una macro utilizzata di frequente una combinazione di tasti simile a Ctrl+lettera oppure Ctrl+Maiusc+lettera; in questo modo sarà possibile eseguire velocemente la macro senza passare dalla finestra di avvio.
  • L’elenco Memorizza macro in consente di indicare la cartella in cui salvare la macro. Le possibilità sono tre: la cartella corrente, una nuova cartella creata automaticamente e la cartella personale; quest’ultima è la cartella che Excel apre in automatico a ogni esecuzione, per cui ogni macro memorizzata al suo interno sarà sempre visibile e disponibile per l’esecuzione in tutti i documenti di Excel.
  • La casella Descrizione, infine, consente di inserire una nota descrittiva della macro, che sarà visualizzata nella parte inferiore della finestra utilizzata per richiamare le macro per l’esecuzione.

Dopo aver fatto clic sul pulsante OK, il registratore di macro è attivo e si può iniziare a eseguire le operazioni che si desidera memorizzare.

Macro con riferimenti relativi e assoluti

I concetti di riferimenti relativi e assoluti applicati a una macro riguardano la modalità con cui tali riferimenti saranno memorizzati dal registratore: è possibile ottenere macro che utilizzino solo uno dei due sistemi, oppure entrambi. Questo aspetto è fondamentale per ottenere macro che possano essere utilizzate in più parti del foglio: per esempio, se si realizza una macro che provvede ad assegnare una determinata formattazione alle celle, è preferibile non utilizzare riferimenti assoluti, altrimenti la macro agirà sempre sulle stesse celle. Per passare da un tipo di riferimento all’altro si ricorre alla voce Usa riferimenti relativi nel menu del pulsante Macro nella scheda Visualizza: se è selezionata i riferimenti saranno memorizzati in formato relativo, altrimenti verrà utilizzato il sistema assoluto.

Conclusione della registrazione

Dopo aver attivato la registrazione vengono memorizzate tutte le operazioni eseguite; per concludere la registrazione è sufficiente selezionare la voce Interrompi registrazione, che ha sostituito Registra macro nel menu del pulsante Macro. A questo punto la macro è pronta per essere eseguita.

Esecuzione di una macro registrata

Per eseguire una macro occorre attivare la scheda Visualizza della barra multifunzione e fare clic sul pulsante Macro. Viene aperta la finestra di dialogo Macro, che mostra nella parte centrale un elenco di tutte le macro disponibili (visibile nella figura che segue). Dopo aver selezionato la macro da eseguire è sufficiente fare clic sul pulsante Esegui: la finestra Macro si chiude e la macro richiesta viene avviata. Se la macro utilizza i riferimenti relativi, la cella attiva sul foglio di lavoro attivo sarà considerata come punto di partenza.

La finestra Macro elenca tutte le macro disponibili

La finestra Macro elenca tutte le macro disponibili.

Registrazione di una macro di esempio

Dopo aver esaminato le modalità d’uso del registratore di macro, è giunto il momento di realizzare la prima macro in Visual Basic for Applications (VBA), il linguaggio messo a disposizione dei programmi della suite Office come Excel. Lo scopo della macro è molto semplice: applicare una formattazione specifica alle celle. La procedura da seguire è illustrata di seguito.

  1. Attivare la prima cella da formattare (altrimenti la macro memorizzerà gli spostamenti).
  2. Avviare il registratore di macro selezionando Registra macro. Excel verifica se, dall’avvio dell’applicazione, è già stata registrata qualche macro all’interno della cartella selezionata nell’elenco Memorizza macro in; in caso affermativo, la nuova macro viene creata nello stesso modulo. Diversamente, all’interno della cartella corrente viene creato un nuovo modulo con il nome Modulo seguito da un numero sequenziale (per evitare omonimie con altri moduli eventualmente già presenti nello stesso progetto).
  3. Nella finestra Macro, assegnare un nome significativo alla macro e specificare eventuali altre informazioni, quali la descrizione del suo scopo o il tasto di scelta rapida. Ricordiamo che il nome di una macro è soggetto ad alcune limitazioni sintattiche: la sua lunghezza non può superare i 255 caratteri; deve iniziare con una lettera; sono ammesse tutte le combinazioni di lettere maiuscole, minuscole, cifre e carattere di sottolineatura (_); non sono ammessi spazi.
  4. Fare clic sul pulsante OK per avviare la registrazione della macro.
  5. Attivare il sistema di riferimenti relativi con la voce Usa riferimenti relativi, in modo che la macro non memorizzi i riferimenti alle celle specifiche e possa quindi essere utilizzata per formattare anche altre celle. Applicare la formattazione desiderata con i pulsanti della scheda Home; per questo esempio, applicare una dimensione del carattere di 14 punti, l’allineamento centrato e il grassetto.
  6. Terminata l’impostazione della formattazione, premere il tasto ↓ per attivare la cella successiva. In questo modo la macro applicherà la formattazione e renderà attiva la cella immediatamente seguente a quella corrente: questo consentirà un risparmio di tempo se anche la cella successiva deve essere formattata attraverso questa macro.
  7. Fermare il registratore di macro con la voce Interrompi registrazione.

Ora la macro è stata registrata ed è pronta per essere utilizzata: per avviarla, è sufficiente fare clic sul pulsante Macro nella scheda Sviluppo per attivare la finestra contenente tutte le macro disponibili, selezionare la macro desiderata e fare clic sul pulsante Esegui.

Gestione delle macro registrate

Per vedere il codice creato dal registratore di macro, è necessario prima attivare Visual Basic Editor e poi accedere al modulo appropriato. Per essere esaustivi si devono compiere alcuni passi che, una volta compresa la loro logica, appariranno molto più immediati e semplici di quanto non sembri ora.

  1. Da Excel, attivare Visual Basic Editor facendo clic sul pulsante Visual Basic nella scheda Sviluppo (oppure premendo Alt+F11).
  2. Nella finestra Progetto, individuare e aprire il progetto contenente la macro registrata (in base all’opzione selezionata nella casella di riepilogo Registra macro in della finestra Macro nel momento in cui si è avviato il registratore). Se è stata selezionata la voce Cartella macro personale, il progetto da aprire è quello alla cui destra appare tra parentesi il nome PERSONAL.XLSB. Se è stata selezionata Questa cartella di lavoro, il progetto da aprire sarà quello che riporta tra parentesi il nome della cartella attiva al momento della registrazione.
  3. Fare doppio clic su un modulo (individuabile grazie al nome che, se assegnato automaticamente da Excel, corrisponde alla parola Modulo seguita da un numero). Nella finestra Codice vengono visualizzate le macro contenute nel modulo.
  4. Scorrere il contenuto della finestra Codice per individuare la macro desiderata, oppure utilizzare l’elenco nella parte superiore sinistra della finestra stessa, che contiene i nomi di tutte le macro presenti nel modulo corrente.

Analisi del codice della macro registrata

La macro viene creata nel linguaggio Visual Basic for Excel; il programma ottenuto è riportato di seguito:

Sub Formatta()

‘ Formatta Macro



With Selection.Font
.Name = “Calibri”
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
ActiveCell.Offset(1, 0).Range(“A1”).Select
End Sub

  Diamo uno sguardo veloce al codice per ricavare qualche prima informazione utile.

  • La prima riga contiene l’istruzione Sub, che indica l’inizio della macro, e il nome della macro stessa, in questo esempio Formatta.
  • Le righe successive sono commenti, come segnalato dal carattere di apostrofo iniziale.
  • L’istruzione With permette di semplificare la scrittura dei programmi: indica infatti che le istruzioni successive (fino a End With) fanno riferimento alla stessa entità, in questo caso a Selection.Font, ovvero al carattere attualmente selezionato.
  • Il punto anteposto alle istruzioni indica che l’istruzione è relativa all’entità precedentemente indicata in With. La riga .Name = “Calibri” poteva essere scritta anche nella forma estesa Selection.Font.Name = “Calibri”. In questo esempio, l’impiego dell’istruzione With e del carattere punto consente di non dover ripetere in ogni istruzione la dicitura Selection.Font.
  • Al termine è presente l’istruzione complementare a Sub, ovvero End Sub, che segnala la fine della macro.

Il registratore di macro è uno strumento perfetto per creare nuove macro; tuttavia, per apportare modifiche alle macro registrate, è necessario vestire i panni del programmatore accedendo a Visual Basic Editor e aprendo la macro da variare.

Eliminazione di macro

L’eliminazione di una macro da un modulo può avvenire mediante due metodi. In primo luogo, è possibile selezionarne il codice nella finestra Codice e cancellarlo. In alternativa, si può aprire la finestra Macro, selezionare la macro desiderata e fare clic sul pulsante Elimina.

Eliminazione di moduli

Per eliminare un modulo si opera all’interno della finestra Progetto, facendo clic con il pulsante destro del mouse sul modulo da eliminare e selezionando il comando Rimuovi: viene aperta una finestra che domanda se si desidera effettuare un’esportazione del contenuto di tale modulo prima di procedere alla sua cancellazione. In caso affermativo viene richiesto il nome da assegnare al nuovo file, altrimenti il modulo viene eliminato. Vuoi approfondire? Questo articolo è un estratto dal libro Excel macro 2019 – Estendere le potenzialità di Excel con funzioni e linguaggio VBA.


Excel macro 2019

Excel sa fare tante cose, facciamolo rendere.

L'autore

  • Edimatica
    Edimatica è una società tra i pionieri del desktop publishing in Italia. Si occupa di editoria e informatica fin dal 1984. Nel corso degli anni ha contribuito all'edizione italiana di numerosi manuali e progetti editoriali. Edimatica è un Adobe Partner - Publishing Solutions.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.