La migliore guida VBA (per principianti) di cui avrai mai bisogno
La piattaforma di programmazione VBA(VBA programming) che funziona in quasi tutti i prodotti Microsoft Office è uno degli strumenti più potenti che chiunque può utilizzare per migliorare l'uso di tali prodotti.
Questa guida VBA per principianti ti mostrerà come aggiungere il menu Sviluppatore alla tua applicazione (Developer)Office , come accedere alla finestra dell'editor VBA e come funzionano le istruzioni e i loop (VBA)VBA di base in modo da poter iniziare a usare VBA in Excel , Word , Powerpoint , Outlook e OneNote .
Questa guida VBA utilizza l'ultima versione dei prodotti Microsoft Office . Se hai una versione precedente, potresti notare alcune lievi differenze rispetto agli screenshot.
Come abilitare e utilizzare l'editor VBA(How To Enable & Use The VBA Editor)
In uno qualsiasi dei prodotti Office utilizzati in questa guida, potresti notare che non hai il menu Sviluppatore di riferimento. (Developer)Il menu sviluppatore è disponibile solo in Excel , Word , Outlook e Powerpoint . OneNote non offre uno strumento per modificare il codice VBA dall'interno dell'applicazione, ma puoi comunque fare riferimento all'API di OneNote(OneNote API) per interagire con OneNote da altri programmi di Office .
Imparerai come farlo nella nostra prossima guida VBA avanzata(Advanced VBA) .
- Per abilitare il menu Sviluppatore(Developer) in qualsiasi prodotto per ufficio, seleziona il menu File e seleziona Opzioni(Options) dal menu di navigazione a sinistra.
- Vedrai un menu Opzioni(Options) a comparsa. Seleziona Personalizza barra multifunzione(Customize Ribbon) dal menu di navigazione a sinistra.
L'elenco a sinistra include tutti i menu e i comandi di menu disponibili nell'applicazione di Office . L'elenco a destra sono quelli attualmente disponibili o attivati.
- Dovresti vedere Sviluppatore(Developer) nell'elenco a destra, ma non verrà attivato. Basta(Just) selezionare la casella di controllo per attivare il menu Sviluppatore .(Developer)
- Se non vedi Sviluppatore(Developer) disponibile a destra, cambia a sinistra Scegli i comandi(Choose commands) dal menu a discesa in Tutti i comandi(All Commands) . Trova lo sviluppatore(Developer) dall'elenco e seleziona Add>> al centro per aggiungere quel menu alla barra multifunzione(Ribbon) .
- Seleziona OK quando hai finito.
- Una volta che il menu Sviluppatore(Developer) è attivo, puoi tornare alla finestra principale dell'applicazione e selezionare Sviluppatore(Developer) dal menu in alto.
- Quindi seleziona Visualizza codice(View Code) dal gruppo Controlli(Controls) nella barra multifunzione per aprire la finestra dell'editor VBA .
- Si aprirà la finestra dell'editor VBA in cui puoi digitare il codice che imparerai nelle prossime sezioni.
- Prova ad aggiungere il menu Sviluppatore ad alcune delle applicazioni di (Developer)Office che usi ogni giorno. Una volta che ti senti a tuo agio nell'aprire la finestra dell'editor VBA , vai alla sezione successiva di questa guida.
Suggerimenti generali per la programmazione VBA per principianti(General VBA Programming Tips for Beginners)
Noterai quando si apre l' editor VBA , le opzioni di navigazione nel pannello di sinistra hanno un aspetto diverso da un'applicazione di Office all'altra.
Questo perché gli oggetti disponibili in cui è possibile inserire il codice VBA dipendono dagli oggetti presenti nell'applicazione. Ad esempio, in Excel è possibile aggiungere codice VBA alla cartella di lavoro o agli oggetti foglio. (VBA)In Word puoi aggiungere codice VBA ai documenti. (VBA)In Powerpoint , solo ai moduli.
Quindi, non essere sorpreso dai diversi menu. La struttura e la sintassi del codice VBA sono le stesse in tutte le applicazioni. L'unica differenza sono gli oggetti a cui puoi fare riferimento e le azioni che puoi intraprendere su quegli oggetti tramite il codice VBA .
Prima di approfondire i diversi oggetti e azioni che puoi intraprendere tramite il codice VBA , diamo prima un'occhiata alla struttura e alla sintassi VBA più comuni che puoi utilizzare quando scrivi il codice VBA .
Dove mettere il codice VBA(Where To Put VBA Code)
Quando sei nell'editor VBA , devi utilizzare le due caselle a discesa nella parte superiore della finestra di modifica per scegliere a quale oggetto vuoi allegare il codice e quando vuoi che il codice venga eseguito.
Ad esempio, in Excel , se scegli Foglio(Worksheet) di lavoro e Attiva(Activate) , il codice verrà eseguito ogni volta che il foglio di lavoro viene aperto.
Altre azioni del foglio di lavoro che puoi utilizzare per attivare il codice VBA includono quando il foglio di lavoro cambia, quando viene chiuso (disattivato), quando viene eseguito il calcolo del foglio di lavoro e altro ancora.
Quando aggiungi codice VBA nell'editor, assicurati sempre di posizionare il codice VBA sull'oggetto e di utilizzare l'azione corretta che desideri utilizzare per attivare quel codice.
Dichiarazioni VBA IF(VBA IF Statements)
Un'istruzione IF funziona in VBA proprio come funziona in qualsiasi altro linguaggio di programmazione.
La prima parte dell'istruzione IF esamina se una condizione o un insieme di condizioni è vera. Queste condizioni possono essere unite da un operatore AND o OR per collegarle insieme.
Un esempio potrebbe essere quello di verificare se un voto in un foglio di calcolo è superiore o inferiore a un voto "superato" e assegnare lo stato di superamento o non superamento a un'altra cella.
If Cells(2, 2) > 75 Then Cells(2, 3) = “Pass” Else Cells(2, 3) = “Fail”
Se non vuoi che l'intera istruzione su una singola riga, puoi dividerla in più righe aggiungendo un simbolo "_" alla fine delle righe.
If Cells(2, 2) > 75 Then _
Cells(2, 3) = “Pass” Else _
Cells(2, 3) = “Fail”
L'uso di questa tecnica può spesso rendere il codice molto più semplice da leggere e da eseguire.
VBA per i cicli successivi(VBA For Next Loops)
Le istruzioni IF sono ottime per confronti singoli, come l'esempio sopra di guardare una singola cella. Ma cosa succede se si desidera scorrere un intero intervallo di celle e fare la stessa istruzione IF su ciascuna?
In questo caso avresti bisogno di un ciclo FOR .
Per fare ciò, dovresti usare la lunghezza di un intervallo e scorrere quella lunghezza in base al numero di righe che contengono dati.
Per fare ciò, è necessario definire l'intervallo e le variabili di cella e scorrerle. Dovrai anche definire un contatore in modo da poter inviare i risultati alla riga appropriata. Quindi il tuo codice VBA avrebbe prima questa riga.
Dim rng As Range, cell As Range
Dim rowCounter as Integer
Definire la dimensione dell'intervallo come segue.
Set rng = Range(“B2:B7”)
rowCounter = 2
Infine, puoi creare il tuo ciclo FOR per scorrere ogni cella in quell'intervallo ed eseguire il confronto.
For Each cell In rng If cell.Value > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Next cell
Una volta eseguito questo script VBA(VBA script) , vedrai i risultati nel foglio di calcolo effettivo.
VBA durante i loop(VBA While Loops)
Anche un ciclo(Loop) While esegue il ciclo di una serie di istruzioni, proprio come il ciclo FOR , ma la condizione del ciclo per continuare è una condizione che rimane vera.
Ad esempio, puoi scrivere lo stesso ciclo FOR sopra, come ciclo WHILE , semplicemente usando la variabile rowCounter come segue.
While rowCounter < rng.Count + 2 If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Wend
Nota: il limite di terminazione rng.Count + 2 è obbligatorio perché il contatore di righe inizia da 2 e deve terminare sulla riga 7 in cui terminano i dati. Tuttavia, il conteggio dell'intervallo (B2:B7) è solo 6 e il ciclo While terminerà solo quando il contatore è MAGGIORE(GREATER) del contatore, quindi l'ultimo valore di rowCounter deve essere 8 (o rng.Count + 2).
Puoi anche impostare il ciclo While come segue:
While rowCounter <= rng.Count + 1
Puoi solo incrementare il conteggio dell'intervallo (6) di 1, perché una volta che la variabile rowCounter raggiunge la fine dei dati (riga 7), il ciclo può terminare.
VBA Do While e Do Until Loops(VBA Do While and Do Until Loops)
I loop Do While e Do Until sono quasi identici ai loop While, ma funzionano in modo leggermente diverso.
- Il ciclo While(While Loop) verifica se una condizione è vera all'inizio del ciclo.
- Il ciclo Do-While(Do-While Loop) controlla se una condizione è vera dopo aver eseguito le istruzioni nel ciclo.
- Il ciclo Do-Until(Do-Until Loop) verifica se una condizione è ancora falsa dopo l'esecuzione del ciclo.
In questo caso dovresti riscrivere il ciclo While sopra come segue, come un ciclo Do-While.
Do If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Loop While rowCounter < rng.Count + 2
In questo caso la logica non cambia molto, ma se vuoi assicurarti che il confronto logico avvenga dopo che tutte le istruzioni sono state eseguite (consentendo a tutte di essere eseguite indipendentemente da cosa almeno una volta), allora un Do-While o Do-Until loop è l'opzione giusta.
VBA Seleziona le dichiarazioni del caso(VBA Select Case Statements)
L'ultimo tipo di istruzione logica che devi comprendere per iniziare a strutturare il tuo codice VBA sono le istruzioni (VBA)Select Case .
Dato l'esempio sopra, supponiamo che tu voglia avere un metodo di valutazione che non sia solo pass fail. Invece, vuoi assegnare un voto in lettere da A a F.
Puoi farlo con la seguente istruzione Select Case :
For Each cell In rng Select Case cell Case 95 To 100 Cells(rowCounter, 3) = "A" Case 85 To 94 Cells(rowCounter, 3) = "B" Case 75 To 84 Cells(rowCounter, 3) = "C" Case 65 To 74 Cells(rowCounter, 3) = "D" Case 0 To 64 Cells(rowCounter, 3) = "F" End Select rowCounter = rowCounter + 1 Next cell
Il foglio di calcolo risultante dopo l'esecuzione di questo script VBA è simile a quello seguente.(VBA)
Ora sai tutto ciò che devi sapere per iniziare a utilizzare VBA nelle tue applicazioni Microsoft Office .
Related posts
Una guida VBA avanzata per MS Excel
Le 13 migliori scorciatoie da tastiera per Microsoft Teams
Come creare una macro o uno script VBA in Excel
Che cos'è Microsoft Publisher? Una guida per principianti
Come correggere l'errore del segnalibro non definito in Word
Come correggere una riga in Excel
Che cos'è Microsoft 365?
Come impostare le conferme di lettura in Outlook
Come creare documenti PDF in Microsoft Office
5 funzioni di script di Fogli Google che devi conoscere
Microsoft Outlook non si apre? 10 modi per risolvere
Inserisci un punto elenco nel mezzo di una frase in Word
Scrivi rapidamente i numeri in Word ed Excel
Come correggere gli errori #N/D in formule di Excel come CERCA.VERT
Come risolvere Outlook bloccato durante il caricamento del profilo
Come acquisire e inserire schermate utilizzando OneNote
Come aggiungere note a piè di pagina in Word
Come utilizzare il riempimento Flash in Excel
Come recuperare le email cancellate in Office 365
10 strumenti per recuperare una password PST di Outlook persa o dimenticata