VBA in Excel: cos'è Visual Basic for Applications, come utilizzarlo

Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs

Vorrei estendere le sagge parole di Steve Jobs e dire che tutti nel mondo dovrebbero imparare a programmare un computer. Potresti non finire necessariamente per lavorare come programmatore o scrivere programmi, ma ti insegnerà a pensare.

Cos'è Visual Basic for Applications (VBA)?

Visual Basic, Applications Edition (VBA) è un linguaggio di programmazione basato sugli eventi implementato da Microsoft per sviluppare applicazioni Office. VBA aiuta a sviluppare processi di automazione, Windows API e funzioni definite dall'utente. Consente inoltre di manipolare le funzionalità dell'interfaccia utente delle applicazioni host.

Prima di entrare nei dettagli, diamo un'occhiata a cosa sia la programmazione informatica in un linguaggio profano. Supponiamo che tu abbia una domestica. Se vuoi che la domestica pulisca la casa e faccia il bucato, le dici cosa fare usando, diciamo, l'inglese e lei fa il lavoro per te. Quando lavori con un computer, vorrai svolgere determinati compiti. Proprio come hai detto alla domestica di fare le faccende domestiche, puoi anche dire al computer di fare i compiti per te.

Il processo con cui si dice al computer cosa vuoi che faccia per te è noto come programmazione del computer. Proprio come hai usato l'inglese per dire alla cameriera cosa fare, puoi anche usare istruzioni simili all'inglese per dire al computer cosa fare. Le affermazioni simili all'inglese rientrano nella categoria dei linguaggi di alto livello. VBA è un linguaggio di alto livello che puoi utilizzare per piegare Excel alla tua onnipotente volontà.

VBA è in realtà un sottoinsieme di Visual Basic 6.0 che BASIC sta per Bprincipianti All-Scopo Ssimbolico Instruction Code.

Perchè VBA?

VBA consente di utilizzare istruzioni simili all'inglese per scrivere istruzioni per la creazione di varie applicazioni. VBA è facile da imparare e ha un'interfaccia utente facile da usare in cui devi solo trascinare e rilasciare i controlli dell'interfaccia. Ti consente inoltre di migliorare la funzionalità di Excel facendolo comportare nel modo desiderato.

Applicazioni personali e aziendali di VBA in Excel

Per uso personale, puoi usarlo per semplici macro che automatizzeranno la maggior parte delle tue attività di routine. Leggi l'articolo sulle macro per ulteriori informazioni su come ottenere questo risultato.

Per uso aziendale, puoi creare programmi potenti e completi basati su Excel e VBA. Il vantaggio di questo approccio è che puoi sfruttare le potenti funzionalità di Excel nei tuoi programmi personalizzati.

Introduzione a Visual Basic per le applicazioni

Prima di poter scrivere qualsiasi codice, dobbiamo prima conoscere le basi. Le basi seguenti ti aiuteranno a iniziare.

  • Variabile – al liceo abbiamo imparato l’algebra. Trova (x + 2y) dove x = 1 e y = 3. In questa espressione, xey sono variabili. Ad essi può essere assegnato qualsiasi numero, ad esempio 1 e 3 rispettivamente, come in questo esempio. Possono anche essere modificati rispettivamente in 4 e 2. Le variabili in breve sono locazioni di memoria. Mentre lavori con VBA Excel, ti verrà richiesto di dichiarare anche le variabili proprio come nelle classi di algebra
  • Regole per la creazione di variabili
    • Non usare parole riservate: se lavori come studente, non puoi usare il titolo docente o preside. Questi titoli sono riservati ai docenti e all'autorità scolastica. Le parole riservate sono quelle parole che hanno un significato speciale in Excel VBA e come tali non è possibile utilizzarle come nomi di variabili.
    • I nomi delle variabili non possono contenere spazi: non è possibile definire una variabile denominata primo numero. Puoi utilizzare firstNumber o first_number.
    • Usa nomi descrittivi: è molto forte la tentazione di dare a una variabile il tuo nome, ma evitalo. Utilizza nomi descrittivi, ad esempio quantità, prezzo, totale parziale, ecc. Ciò renderà il tuo codice VBA Excel facile da leggere
  • Operatori aritmetici – Le regole di Brackets di divisione, moltiplicazione, addizione e sottrazione (BODMAS), quindi ricordati di applicarli quando lavori con espressioni che utilizzano più operatori aritmetici diversi. Proprio come in Excel, puoi usare
    • + per addizione
    • – per sottrazione
    • *per la moltiplicazione
    • / per divisione.
  • Operatori logici: il concetto di operatori logici trattato nei tutorial precedenti si applica anche quando si lavora con VBA. Questi includono
    • Se dichiarazioni
    • OR
    • NON
    • E
    • TRUE
    • FALSO

Come abilitare la scheda Sviluppatore

Di seguito è riportato il processo passo passo su come abilitare la scheda sviluppatore in Excel:

  • Crea una nuova cartella di lavoro
  • Fare clic sul pulsante di avvio della barra multifunzione
  • Selezionare
  • Fare clic su Personalizza barra multifunzione
  • Selezionare la casella di controllo dello sviluppatore come mostrato nell'immagine sottostante
  • fare clic su OK

Abilita la scheda Sviluppatore

Ora sarai in grado di vedere la scheda SVILUPPATORE nella barra multifunzione

VBA Ciao mondo!

Ora mostreremo come programmare nel linguaggio di programmazione VBA. Tutti i programmi in VBA devono iniziare con "Sub" e finire con "End sub". Qui il nome è il nome che vuoi assegnare al tuo programma. Mentre sub sta per una subroutine che impareremo nella parte successiva del tutorial.

Sub name()
.
.
. 
End Sub

Creeremo un programma VBA di base che visualizza una casella di input per chiedere il nome dell'utente e quindi visualizzare un messaggio di saluto

Questo tutorial presuppone che tu abbia completato il tutorial su Macro in Excel e ho abilitato la scheda SVILUPPATORE in Excel.

  • Crea un nuovo libro di lavoro
  • Salvalo in un foglio di lavoro abilitato per le macro Excel in formato *.xlsm
  • Fare clic sulla scheda SVILUPPATORE
  • Fare clic sulla casella a discesa INSERISCI sotto la barra multifunzione dei controlli
  • Selezionare un pulsante di comando come mostrato nell'immagine seguente

Programma VBA Ciao Mondo

Disegna il pulsante di comando in un punto qualsiasi del foglio di lavoro

Si aprirà la seguente finestra di dialogo

Programma VBA Ciao Mondo

  • Rinominare il nome della macro in btnHelloWorld_Click
  • Fare clic sul nuovo pulsante
  • Otterrai la seguente finestra di codice VBA

Programma VBA Ciao Mondo

Inserisci i seguenti codici di istruzione

Dim name As String
name = InputBox("Enter your name")
MsgBox "Hello " + name

QUI,

  • "Nome attenuato come stringa" crea una variabile chiamata nome. La variabile accetterà testo, numerici e altri caratteri perché l'abbiamo definita come stringa
  • “nome = IngressoBox("Inserisci il tuo nome")" chiama la funzione integrata InputBox che visualizza una finestra con la didascalia Inserisci il tuo nome. Il nome immesso viene quindi memorizzato nella variabile name.
  • "MsgBox "Ciao" + nome" chiama la funzione integrata MsgBox che visualizzano Ciao e il nome immesso.

La finestra del codice completa ora dovrebbe apparire come segue

Programma VBA Ciao Mondo

  • Chiudi la finestra del codice
  • Fare clic con il tasto destro sul pulsante 1 e selezionare Modifica testo
  • Entra Saluta

Programma VBA Ciao Mondo

  • Fare clic su Saluta
  • Otterrai la seguente casella di input

Programma VBA Ciao Mondo

  • Inserisci il tuo nome, ad esempio Jordan
  • Riceverai la seguente finestra di messaggio

Programma VBA Ciao Mondo

Congratulazioni, hai appena creato il tuo primo programma VBA in Excel

Esempio passo passo di creazione di un semplice calcolatore EMI in Excel

In questo esercizio tutoriale, creeremo un semplice programma che calcola l'EMI. EMI è l'acronimo di Equated Monthly Instalment. È l'importo mensile che rimborsi quando ottieni un prestito. L'immagine seguente mostra la formula per calcolare l'EMI.

Creazione di un semplice calcolatore EMI in Excel

La formula sopra è complessa e può essere scritta in Excel. La buona notizia è che Excel si è già occupato del problema di cui sopra. Puoi usare la funzione PMT per calcolare quanto sopra.

La funzione PMT funziona come segue

=PMT(rate,nper,pv)

QUI,

  • "valutare" questa è la tariffa mensile. È il tasso di interesse diviso per il numero di pagamenti annuali
  • “nper” è il numero totale di pagamenti. È la durata del prestito moltiplicata per il numero di pagamenti all'anno
  • “Pv” valore attuale. È l'importo effettivo del prestito

Crea la GUI utilizzando celle Excel come mostrato di seguito

Creazione di un semplice calcolatore EMI in Excel

Aggiungi un pulsante di comando tra le righe 7 e 8

Assegnare al pulsante il nome della macro btnCalculateEMI_Click

Fare clic sul pulsante Modifica

Inserisci il seguente codice

Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Double
monthly_rate = Range("B6").Value / Range("B5").Value
loan_amount = Range("B3").Value
number_of_periods = Range("B4").Value * Range("B5").Value 
emi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount)
Range("B9").Value = emi

QUI,

  • "Tariffa_mensile debole come singolo,..." Dim è la parola chiave utilizzata per definire variabili in VBA, tasso_mensile è il nome della variabile, Singolo è il tipo di dati che significa che la variabile accetterà un numero.
  • “tariffa_mensile = Intervallo(“B6”).Valore / Intervallo(“B5″).Valore” Range è la funzione utilizzata per accedere alle celle Excel da VBA, Range ("B6"). Il valore fa riferimento al valore in B6
  • "Funzionefogliodilavoro.Pmt(...)" WorksheetFunction è la funzione utilizzata per accedere a tutte le funzioni di Excel

L'immagine seguente mostra il codice sorgente completo

Creazione di un semplice calcolatore EMI in Excel

  • Fare clic su Salva e chiudere la finestra del codice
  • Prova il tuo programma come mostrato nell'immagine animata qui sotto

Creazione di un semplice calcolatore EMI in Excel

Come utilizzare VBA nell'esempio di Excel

Nei passaggi successivi verrà spiegato come utilizzare VBA in Excel.

Passo 1) Apri il tuo editor VBA

Nella scheda Sviluppatore del menu principale, fai clic sull'icona "Visual Basic" per aprire l'editor VBA.

Utilizza VBA in Excel

Passo 2) Seleziona il foglio Excel e Double fare clic sul foglio di lavoro

Si aprirà un editor VBA, da cui puoi selezionare il foglio Excel in cui vuoi eseguire il codice. Per aprire l'editor VBA fai doppio clic sul foglio di lavoro.

Utilizza VBA in Excel

Si aprirà un editor VBA sul lato destro della cartella. Apparirà come uno spazio bianco.

Utilizza VBA in Excel

Passo 3) Scrivi tutto ciò che vuoi visualizzare nel MsgBox

In questo passaggio vedremo il nostro primo programma VBA. Per leggere e visualizzare il nostro programma abbiamo bisogno di un oggetto. In VBA quell'oggetto o mezzo in un MsgBox.

  • Per prima cosa, scrivi “Sub” e poi il tuo “nome programma” (Guru99)
  • Scrivi tutto ciò che vuoi visualizzare nel MsgBox (guru99-imparare è divertente)
  • Termina il programma con End Sub

Utilizza VBA in Excel

Passo 4) Fai clic sul pulsante verde Esegui nella parte superiore dell'editor

Nel passaggio successivo devi eseguire questo codice facendo clic sul pulsante verde Esegui nella parte superiore del menu dell'editor.

Utilizza VBA in Excel

Passo 5) Selezionare il foglio e fare clic sul pulsante "Esegui".

Quando esegui il codice, verrà visualizzata un'altra finestra. Qui devi selezionare il foglio in cui desideri visualizzare il programma e fare clic sul pulsante "Esegui".

Utilizza VBA in Excel

Passo 6) Visualizza il messaggio in MsgBox

Quando fai clic sul pulsante Esegui, il programma verrà eseguito. Verrà visualizzato il messaggio in MsgBox.

Utilizza VBA in Excel

Scarica il codice Excel sopra

Sommario

Modulo completo VBA: Visual Basic per l'applicazione. È un sottocomponente del linguaggio di programmazione Visual Basic che puoi utilizzare per creare applicazioni in Excel. Con VBA puoi comunque sfruttare le potenti funzionalità di Excel e utilizzarle in VBA.