Menu Chiudi

MS Excel 38 – Introduzione a Visual Basic, Applications Edition

  • Introduzione alle Macro VBA in Excel
    • Le macro VBA (Visual Basic for Applications) sono sequenze di comandi e funzioni scritte in VBA che automatizzano attività ripetitive in Excel. Permettono di eseguire operazioni complesse in pochi clic, risparmiando tempo e riducendo errori.
    • Per accedere agli strumenti VBA è necessario abilitare la scheda ‘Sviluppo’: File → Opzioni → Personalizzazione barra multifunzione → Attiva ‘Sviluppo’.
    • Le macro possono contenere codice potenzialmente dannoso, quindi Excel imposta diversi livelli di sicurezza: disattiva tutte le macro senza notifica, disattiva tutte le macro con notifica, disattiva tutte le macro eccetto quelle firmate digitalmente, abilita tutte le macro (non consigliato). Percorso: File → Opzioni → Centro protezione → Impostazioni Centro protezione → Impostazioni macro.
    • Quando si salva un file con macro, è necessario usare il formato .xlsm (Cartella di lavoro con attivazione macro Excel). Se si salva nel formato .xlsx, le macro verranno eliminate. Percorso: File → Salva con nome → Tipo file → Cartella di lavoro con attivazione macro (*.xlsm).
  • Tipi di Macro VBA e Creazione di Macro in Excel
    • Le macro in VBA si suddividono in due categorie principali: Subroutine (Sub) e Funzioni (Function).
    • Le subroutine (Sub) sono blocchi di codice che eseguono compiti ma non restituiscono valori. Sintassi: Sub NomeSub() ‘ codice VBA End Sub.
    • Le funzioni VBA restituiscono un valore e possono essere usate nei fogli di Excel come qualsiasi funzione nativa. Sintassi: Function NomeFunzione(Parametri) As Tipo ‘ codice NomeFunzione = Valore End Function.
    • Puoi creare macro VBA registrandole con il registratore di macro o scrivendole direttamente nell’Editor VBA (Alt+F11). Per creare manualmente: apri l’Editor VBA con Alt+F11, inserisci un modulo: Inserisci → Modulo, scrivi il codice, salva il file in formato .xlsm per mantenere le macro attive.
  • Registrazione di Macro in VBA
    • Excel permette di registrare una sequenza di azioni e convertirle automaticamente in codice VBA. Questo è utile per automatizzare attività ripetitive senza conoscere la sintassi di programmazione.
    • Per registrare una macro: vai alla scheda Sviluppo, clicca su ‘Registra macro’, dai un nome alla macro e scegli dove salvarla, esegui le azioni che vuoi automatizzare, clicca su ‘Interrompi registrazione’.
    • Dopo aver registrato la macro, puoi visualizzare il codice generato: Alt+F11 → Moduli → seleziona il modulo con la macro registrata.
    • Puoi modificare il codice VBA generato automaticamente per ottimizzare le istruzioni, aggiungere controlli condizionali, o generalizzare il comportamento.
    • La registrazione relativa applica le azioni rispetto alla cella attiva, mentre quella assoluta usa riferimenti fissi. Puoi attivare la modalità relativa dalla scheda Sviluppo prima di registrare.
  • Scrivere codice VBA in Excel
    • Il codice VBA si scrive nell’Editor VBA (Alt + F11). Puoi creare un modulo tramite Inserisci → Modulo e iniziare a scrivere Sub o Function.
    • Excel è strutturato come una gerarchia di oggetti (Application > Workbook > Worksheet > Range). Ogni elemento può essere controllato via codice.
    • Un oggetto rappresenta un’entità come un foglio o una cella. Una collezione è un insieme di oggetti simili, es. Workbooks o Worksheets.
    • Le proprietà rappresentano caratteristiche di un oggetto. Ad esempio: Range(“A1”).Value restituisce o imposta il contenuto di A1.
    • I metodi sono azioni che un oggetto può eseguire. Esempio: Range(“A1”).ClearContents cancella il contenuto di A1.
    • Range è l’oggetto più utilizzato. Può riferirsi a una o più celle. Permette operazioni su valori, formati, formule, ecc.
    • Le variabili memorizzano valori temporanei. Sintassi: Dim nome As Tipo. Esempio: Dim somma As Double.
    • Puoi usare If, For, Do While, Select Case per controllare il flusso del codice e la logica di esecuzione.
    • Alcune macro avanzate (es. uso di cicli, condizioni, manipolazione dinamica) non possono essere registrate e devono essere scritte a mano.
Pubblicato il Microsoft 365, MS Excel - Dispense, MS-Excel