VBA – Principali Comandi - Istituto Paritario Michelangelo

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