VBA Principali Comandi Sintassi Significato Esempio Dim <nome variabile> As <tipo> Dichiarazione Dim x As Integer di una variabile Dim <nome variabile1>, <nome variabile2>, <nome variabile3>,., <nome variabile n> As <tipo> Dichiarazione di più variabili Dim s1,s2,s3 As String ciao, sono un commento i commenti sono preceduti da un apostrofo e servono per descrivere una o più istruzioni del codice If <condizione> Then <Istruzioni> End If If <condizione> Then <Istruzioni> Else <IstruzioniAlternative> End If (consiglio : inserire il maggior numero di commenti) istruzione if Dim ris, a As Double Then.End if se la condizione è vera esegui una o più istruzioni istruzione if Then Else End if se la condizione è vera esegui una o più istruzioni, altrimenti esegui le istruzioni alternative a = Cells(6, 3) If (a >= 0) Then ris = a End If Dim ris, a As Double valore assoluto a = Cells(6, 3) If (a >= 0) Then ris = a Else ris = -a End If Cells(12, 7) = ris 1
Sintassi Significato Esempio Istruzione ElseIf esegue il test di ciascuna condizione ed esce dal blocco non appena trova che una condizione è verificata 2
Sintassi Significato Esempio Istruzione Esempio 1 : Select Case 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 <> < Minore Diverso (utilizzabile anche con le stringhe) VBA L operatore di concatenazione stringhe & Dim x As String Esempio 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 Significato Esempio Cells(i,j) Si accede alla cella (del foglio in cui è presente la macro) di riga i e colonna j Cells(1,2) = 1 alla cella di riga 1 e colonna 2 (lettera B) viene assegnato il valore 1 Range( <letteracolonna><numeroriga> ) Worksheets( <nomefoglio>").range( <letteracolonna><numeroriga> ").Value Worksheets( <nomefoglio>").cells(<numriga>,<numcolonna>).value Cells(i, j).interior.colorindex = <indice colore> 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 Accedere alla cella di un foglio qualsiasi (analoga all istruzione sopra) istruzione per cambiare colore ad una cella di riga i e colonna j Tabella indici colori : Range( A1 ) = ciao alla cella di colonna A e riga 1 viene assegnato il valore stringa ciao Worksheets( Foglio1").Range( A1").V alue = Ciao Worksheets( Foglio1").Cells(1,1).Valu e = Ciao Cells(1, 1).Interior.ColorIndex = 6 9
VBA Funzioni utilizzate Sintassi Significato Esempio Output MsgBox(<stringa messaggio>) apre una finestra di dialogo e visualizza il testo contenuto nella stringa s= Ciao, come stai? MsgBox(s) oppure <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 MsgBox( Ciao, come stai? ) 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