VBA – Principali Comandi Sintassi Dim <nome variabile> As <tipo> Dim <nome variabile1>, <nome variabile2>, <nome variabile3>, …., <nome variabile n> As <tipo> ‘ciao , sono un commento If <condizione> Then <Istruzioni> End If If <condizione> Then <Istruzioni> Else <IstruzioniAlternative> End If Significato Esempio Dichiarazione Dim x As Integer di una variabile Dichiarazione Dim s1,s2,s3 As String di più variabili i commenti sono preceduti da un apostrofo e servono per descrivere una o più istruzioni del codice (consiglio : inserire il maggior numero di commenti) Dim ris, a As Double istruzione if …Then ….End if a = Cells(6, 3) se la condizione è vera esegui una o If (a >= 0) Then più istruzioni ris = a End If Dim ris, a As Double ‘ valore assoluto istruzione if …Then … Else… a = Cells(6, 3) End if se la condizione è vera esegui una o più istruzioni, altrimenti esegui le istruzioni alternative If (a >= 0) Then ris = a Else ris = -a End If Cells(12, 7) = ris 1 Sintassi Significato Istruzione ElseIf Esempio esegue il test di ciascuna condizione ed esce dal “blocco” non appena trova che una condizione è verificata 2 Sintassi Significato Istruzione Select Case Esempio Esempio 1 : esamina un insieme finito di “casi” per la variabile o espressione da valutare 3 Esempio 2: 4 I CICLI Esempio : Dove incremento è la variabile numerica associata al valore dello step. Potrebbe essere anche un valore negativo, in quel caso si parla di decremento e inizio avrà un valore inferiore a fine. Visualizza 10 messaggi partendo dal numero 1 fino al 10 (1,2,…..10) Significato : esegue una o più istruzioni per un numero prefissato di volte 5 VBA – Principali tipi di dati numerici : Tipo di dato Integer Double String Char Boolean Significato numeri interi numeri con la virgola variabili che contengono testo un singolo carattere una variabile che può valere Vero (True) o Falso (False) 6 VBA – Operatori Matematici Operatore Funzione Utilizzo + Somma Risultato = X + Y - Sottrazione Risultato = X - Y * Moltiplicazione Risultato = X * Y / Divide e restituisce un numero a virgola mobile Risultato = X / Y \ Divide e restituisce un numero intero Risultato = X \ Y Mod ^ Divide e restituisce solo il resto Risultato = X Mod Y Il resto è un intero Eleva a potenza Risultato = X ^ Y VBA – Operatori di confronto Operatore Funzione < Minore <= Minore o Uguale 7 > Maggiore >= Maggiore o Uguale <> Diverso (utilizzabile anche con le stringhe) < Minore VBA – L’operatore di concatenazione stringhe & Esempio Dim x As String x = "Con" & "catena" & "zione" Cells(1, 1) = x VBA – Operatori logici Operatore And Or Not Funzione If (condizione1) And (condizione2) then... Verificata se entrambe le condizioni sono vere. If (condizione1) Or (condizione2) then... Verificata se almeno una condizione è vera. If Not (condizione1) then... Verificata se “condizione1” è falsa. 8 VBA – Come accedere alle celle di un foglio excel Sintassi Cells(i,j) Range(“<letteraColonna><numeroRiga>”) Worksheets(“<nomeFoglio>").Range(“<letteraColonna><numeroRiga> ").Value Worksheets(“<nomeFoglio>").Cells(<numRiga>,<numColonna>).Value Cells(i, j).Interior.ColorIndex = <indice colore> Significato Si accede alla cella (del foglio in cui è presente la macro) di riga i e colonna j Esempio Cells(1,2) = 1 in alternativa a Cells(i,j) : Si accede alla cella (del foglio in cui è presente la macro) di riga numeroRiga e colonna letteraColonna Accedere alla cella di un foglio qualsiasi Range(“A1”) = “ciao” Accedere alla cella di un foglio qualsiasi (analoga all’istruzione sopra) istruzione per cambiare colore ad una cella di riga ‘i’ e colonna ‘j’ Worksheets(“Foglio1").Cells(1,1).Valu e = “Ciao” alla cella di riga 1 e colonna 2 (lettera B) viene assegnato il valore 1 alla cella di colonna A e riga 1 viene assegnato il valore stringa “ciao” Worksheets(“Foglio1").Range(“A1").V alue = “Ciao” Cells(1, 1).Interior.ColorIndex = 6 Tabella indici colori : 9 VBA – Funzioni utilizzate Sintassi MsgBox(<stringa messaggio>) Significato apre una finestra di dialogo e visualizza il testo contenuto nella stringa Esempio s= “Ciao, come stai?” MsgBox(s) Output oppure MsgBox(“Ciao, come stai?”) <nome variabile>= MsgBox(<stringa messaggio>, vbYesNo) apre una finestra di dialogo contenente due pulsanti : Sì e No, memorizza il risultato nella variabile alla quale viene assegnata il risultato di tale funzione 10 Note aggiuntive Importante! Come si salva un file Excel con una macro : 1) 2) 11 Come attivare le macro in un foglio excel 12 1) 13 2) 14 3) 15 4) 16