×

VBA a supporto di Excel: codici di esempio

VBA a supporto di Excel: codici di esempio

Microsoft Excel è uno strumento potentissimo per la gestione dei dati, ma spesso le attività ripetitive possono richiedere molto tempo. Con l’uso di VBA (Visual Basic for Applications), è possibile automatizzare molte operazioni, migliorando l’efficienza del lavoro. In questo articolo vedremo alcuni esempi pratici di codice VBA da utilizzare in Excel.

1. Creare un Macro per copiare e incollare dati automaticamente

Se si lavora con dati che devono essere copiati e incollati da un foglio all’altro, VBA può rendere questa operazione veloce e senza errori.

Sub CopiaIncollaDati()
    Dim wsOrigine As Worksheet, wsDestinazione As Worksheet
    
    Set wsOrigine = ThisWorkbook.Sheets("Foglio1")
    Set wsDestinazione = ThisWorkbook.Sheets("Foglio2")
    
    wsOrigine.Range("A1:D10").Copy
    wsDestinazione.Range("A1").PasteSpecial Paste:=xlPasteValues
    
    Application.CutCopyMode = False
    MsgBox "Dati copiati con successo!"
End Sub

Questo codice copia i dati da Foglio1 e li incolla in Foglio2, mantenendo solo i valori.

2. Generare un Report automatico in un Nuovo Foglio

Se hai bisogno di creare un report e organizzarne i dati in un nuovo foglio, puoi usare il seguente codice.

Sub GeneraReport()
    Dim wsReport As Worksheet
    
    Set wsReport = ThisWorkbook.Sheets.Add
    wsReport.Name = "Report " & Format(Now, "yyyymmdd")
    
    wsReport.Range("A1").Value = "Data Report: " & Date
    wsReport.Range("A2").Value = "Nome"
    wsReport.Range("B2").Value = "Vendite"
    
    MsgBox "Report creato con successo!"
End Sub

Questo script crea un nuovo foglio di lavoro e imposta un’intestazione con la data del giorno.

3. Inviare Email automatiche con Outlook

VBA permette anche di inviare email direttamente da Excel utilizzando Outlook.

Sub InviaEmail()
    Dim OutApp As Object
    Dim OutMail As Object
    
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    
    With OutMail
        .To = "destinatario@example.com"
        .Subject = "Report aggiornato"
        .Body = "Buongiorno, in allegato il report aggiornato."
        .Attachments.Add ThisWorkbook.FullName
        .Send
    End With
    
    Set OutMail = Nothing
    Set OutApp = Nothing
    
    MsgBox "Email inviata con successo!"
End Sub

Questa macro invia un’email con il file Excel in allegato.


L’uso di VBA in Excel permette di automatizzare molte attività quotidiane, riducendo il rischio di errori e aumentando la produttività. Con questi esempi puoi iniziare a sfruttare VBA nel tuo lavoro e personalizzare i codici per adattarli alle tue esigenze.