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
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
Disegna il pulsante di comando in un punto qualsiasi del foglio di lavoro
Si aprirà la seguente finestra di dialogo
- Rinominare il nome della macro in btnHelloWorld_Click
- Fare clic sul nuovo pulsante
- Otterrai la seguente finestra di codice VBA
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
- Chiudi la finestra del codice
- Fare clic con il tasto destro sul pulsante 1 e selezionare Modifica testo
- Entra Saluta
- Fare clic su Saluta
- Otterrai la seguente casella di input
- Inserisci il tuo nome, ad esempio Jordan
- Riceverai la seguente finestra di messaggio
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.
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
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
- Fare clic su Salva e chiudere la finestra del codice
- Prova il tuo programma come mostrato nell'immagine animata qui sotto
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.
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.
Si aprirà un editor VBA sul lato destro della cartella. Apparirà come uno spazio bianco.
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
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.
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".
Passo 6) Visualizza il messaggio in MsgBox
Quando fai clic sul pulsante Esegui, il programma verrà eseguito. Verrà visualizzato il messaggio in MsgBox.
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.