Come creare una macro o uno script VBA in Excel

Microsoft Excel consente agli utenti di automatizzare funzioni e comandi utilizzando macro e script di Visual Basic , Applications Edition ( VBA ). VBA è il linguaggio di programmazione(VBA is the programming language Excel) utilizzato da Excel per creare macro. Eseguirà anche comandi automatizzati in base a condizioni specifiche.

Le macro sono una serie di comandi preregistrati. Vengono eseguiti automaticamente quando viene dato un comando specifico. Se hai attività in Microsoft Excel che svolgi ripetutamente, come contabilità, gestione dei progetti o buste paga, l'automazione di questi processi può far risparmiare molto tempo.

Nella scheda Sviluppatore sulla (Developer)barra multifunzione(Ribbon) in Excel , gli utenti possono registrare clic del mouse e sequenze di tasti (macro). Tuttavia, alcune funzioni richiedono uno scripting più approfondito di quello che possono fornire le macro. È qui che lo scripting VBA diventa un enorme vantaggio. (VBA)Consente agli utenti di creare script più complessi.

In questo articolo spiegheremo quanto segue:

  • Abilitazione di script e macro
  • Come creare una macro in Excel
  • Esempio specifico di una macro
  • Ulteriori informazioni su VBA
  • Crea un pulsante(Button) per iniziare con VBA
  • Aggiungi codice(Add Code) per dare funzionalità al pulsante(Button Functionality)
  • Ha funzionato?

Abilitazione di script e macro(Enabling Scripts & Macros)

Prima di poter creare macro o script VBA in (VBA)Excel , è necessario abilitare la scheda Sviluppatore nel menu della barra (Developer )multifunzione(Ribbon) . La scheda Sviluppatore(Developer) non è abilitata per impostazione predefinita. Per abilitarlo:

  • Apri un foglio di lavoro Excel.
  • Fare clic su File > Opzioni( Options ) > Personalizza barra multifunzione.( Customize Ribbon.)

  • Metti un segno di spunta nella casella accanto a Sviluppatore(Developer) .

  • Fare clic sulla scheda Sviluppatore dal menu della barra (Developer)multifunzione(Ribbon) .

  • Quindi, fai clic su Sicurezza macro(Macro Security) e seleziona la casella accanto a Abilita tutte le macro (non consigliato; può essere eseguito codice potenzialmente pericoloso). (Enable all macros (not recommended; potentially dangerous code can run). )
  • Quindi fare clic su OK.

Il motivo per cui le macro non sono attivate per impostazione predefinita e vengono fornite con un avviso è che sono codice del computer che potrebbe contenere malware.

Assicurati(Make) che il documento provenga da una fonte attendibile se stai lavorando a un progetto condiviso in Excel e altri programmi Microsoft .

Quando hai finito di usare gli script e le macro, disabilita tutte le macro per evitare che codice potenzialmente dannoso infetti altri documenti.

Crea una macro in Excel(Create a Macro in Excel)

Vengono aggiunte tutte le azioni eseguite in Excel durante la registrazione di una macro. 

  • Dalla scheda Sviluppatore, fai clic su Registra macro(Record Macro) .

  • Immettere un nome Macro(Macro name) , un tasto di scelta rapida(Shortcut key) e una Descrizione. (Description. )I nomi delle macro(Macro) devono iniziare con una lettera e non possono contenere spazi. Il tasto di scelta rapida deve essere una lettera.

Decidi dove vuoi salvare la macro dalle seguenti opzioni:

  • Cartella di lavoro macro personale(Personal Macro Workbook) : creerà un documento Excel nascosto con macro memorizzate da utilizzare con qualsiasi documento Excel .
  • Nuova cartella di lavoro(New Workbook) : creerà un nuovo documento Excel per memorizzare le macro create.
  • Questa cartella di lavoro(This Workbook) : verrà applicata solo al documento che stai attualmente modificando.

Al termine, fare clic su OK

  • Esegui(Run) le azioni che desideri automatizzare. Al termine, fare clic su Interrompi registrazione(Stop Recording)
  • Quando vuoi accedere alla tua macro, usa la scorciatoia da tastiera che le hai dato.

Esempio specifico di una macro(Specific Example Of a Macro)

Iniziamo con un semplice foglio di calcolo per i clienti e quanto devono. Inizieremo creando una macro per formattare il foglio di lavoro.

Supponiamo che tu decida che tutti i fogli di lavoro debbano utilizzare un formato diverso, ad esempio inserendo nome e cognome in colonne separate. 

Puoi modificarlo manualmente. Oppure puoi creare un programma usando una macro per formattarlo automaticamente correttamente per te.

Registra la macro(Record The Macro)

  • Fare clic su Registra macro(Record Macro) . Chiamiamolo Format_Customer_Data e fare clic su OK
  • Per ottenere la formattazione che desideriamo, cambieremo il nome della prima colonna in First Name
  • Quindi inserisci una colonna accanto ad A e chiamala Cognome(Last Name)
  • Evidenzia(Highlight) tutti i nomi nella prima colonna (che includono ancora nome e cognome) e fai clic su Dati(Data) dalla barra di navigazione.
  • Fare clic su Testo in colonne(Text to Columns) .

  • Spunta Delimitato(Delimited) > Avanti(Next ) > Separa per spazio(Separate by Space) > Avanti(Next ) > Fine(Finish) . Guarda lo screenshot qui sotto e come il nome e il cognome sono stati separati dal processo sopra.

  • Per formattare il campo Saldo(Balance Due) in scadenza , evidenziare gli importi. Fare clic(Click) su Home > Formattazione condizionale(Conditional Formatting) > Evidenzia regole cella(Highlight Cell Rules) > Maggiore di(Greater Than ) > 0 .

Questo evidenzierà le celle che hanno un saldo dovuto. Abbiamo aggiunto alcuni clienti senza saldo per illustrare ulteriormente la formattazione.  

  • Torna a Sviluppatore(Developer ) e fai clic su Interrompi registrazione(Stop Recording) .

Applicare la macro(Apply The Macro)

Iniziamo con il foglio di calcolo originale prima di registrare la macro per formattarla correttamente. Fare clic(Click) su Macro(Macros) , selezionare ed eseguire(Run) la macro appena creata.

Quando esegui una macro, tutta la formattazione viene eseguita per te. Questa macro che abbiamo appena creato è archiviata nell'editor di Visual Basic(Visual Basic Editor) .

Gli utenti possono eseguire le macro in diversi modi. Leggi Esegui una macro(Run a macro) per saperne di più.  

Ulteriori informazioni su VBA(Learn More About VBA)

Per informazioni su VBA, fai clic su Macro dalla scheda Sviluppatore . (Developer)Trovane uno che hai creato e fai clic su Modifica.(Edit.)

Il codice che vedi nella casella sopra è quello che è stato creato quando hai registrato la tua macro. 

È anche ciò che eseguirai quando desideri formattare altri fogli di calcolo dei pagamenti dei clienti allo stesso modo.

Crea un pulsante per iniziare con VBA(Create a Button To Get Started With VBA)

Utilizzando lo stesso foglio di calcolo sopra con i clienti e quanto devono, creiamo un convertitore di valuta.

  • Per inserire un elemento pulsante, vai alla scheda  Sviluppatore .(Developer )
  • Seleziona Pulsante di comando ActiveX(ActiveX Command Button ) dall'elenco a discesa accanto a Inserisci(Insert) nella sezione Controlli (Controls).

  • Trascina(Drag) il pulsante in un punto qualsiasi del foglio di calcolo in modo da poterlo accedere facilmente e modificarlo in seguito, se lo desideri.

  • Per allegare il codice, fare clic con il tasto destro del mouse sul pulsante e selezionare Proprietà(Properties) . Manterremo il nome(Name) come CommandButton e la didascalia(Caption ) da convertire( Convert ) (questo è il testo del pulsante).

Aggiungi codice per dare funzionalità al pulsante(Add Code To Give The Button Functionality)

La codifica VBA(VBA) non avviene nell'interfaccia di Excel . Viene eseguito in un ambiente separato.  

  • Vai alla scheda Sviluppatore(Developer) e assicurati che la Modalità progettazione(Design Mode) sia attiva.

  • Per accedere al codice del pulsante che abbiamo appena creato, fai clic destro su di esso e seleziona Visualizza codice(View Code) .

  • Osservando il codice nello screenshot qui sotto, nota che l'inizio ( Private Sub ) e la fine ( End Sub ) del codice sono già presenti.

  • Il codice sottostante guiderà la procedura di conversione della valuta.

ActiveCell.Value = (ActiveCell * 1.28)

Il nostro scopo in questa sezione è convertire la valuta nel nostro foglio di calcolo. Lo script sopra riflette il tasso di cambio da GBP a USD . Il nuovo valore di una cella sarà quello che c'è attualmente moltiplicato per 1,28.

Lo screenshot qui sotto mostra come appare il codice nella finestra VBA dopo averlo inserito.

  • Vai su File nella navigazione in alto e fai clic su Chiudi e torna a Microsoft Excel(click on Close and Return to Microsoft Excel) per tornare all'interfaccia principale di Excel .

Ha funzionato?(Did It Work?)

Prima di poter testare il tuo codice, devi prima disabilitare la modalità di progettazione(Design Mode) (fai clic su di essa) per evitare ulteriori modifiche e dare funzionalità al pulsante.

  • Digita(Type) un numero qualsiasi nel tuo foglio di calcolo, quindi fai clic sul pulsante Converti(Convert) . Se il valore del tuo numero aumenta di circa un quarto, ha funzionato.

Per questo esempio, ho inserito il numero 4 in una cella. Dopo aver fatto clic su Converti(Convert) , il numero è cambiato in 5.12. Poiché 4 volte 1,28 è 5,12, il codice è stato eseguito correttamente.

Ora che hai capito come creare una macro o uno script in Excel , puoi usarli per automatizzare una moltitudine di azioni in Excel .



About the author

Sono uno sviluppatore di software freeware e sostenitore di Windows Vista/7. Ho scritto diverse centinaia di articoli su vari argomenti relativi al sistema operativo, inclusi suggerimenti e trucchi, guide di riparazione e best practice. Offro anche servizi di consulenza in ufficio attraverso la mia azienda, Help Desk Services. Ho una profonda conoscenza del funzionamento di Office 365, delle sue funzionalità e di come utilizzarle nel modo più efficace.



Related posts