Excel VBA - Istituto Paritario Michelangelo

Transcript

Excel VBA - Istituto Paritario Michelangelo
Excel VBA
VBA – Visual Basic for Application
VBA è un linguaggio di scripting derivato da
Visual Basic, da cui prende il nome.
Come ogni linguaggio ha le sue regole.
2
Prima di iniziare….
iniziare….
Che cos’è una variabile?
Per variabile si intende un oggetto che ha un nome e che
permette di immagazzinare e conservare un determinato
valore di un determinato tipo (ad es. numerico, testo,
ecc). Come dice la parola stessa, il contenuto di una
variabile può variare nel corso dell’elaborazione del
programma.
Questa
variabile
conterrà
sempre
numeri interi
3
x
x
esecuzione del progamma
x
…..
Può essere
pensata
come una
scatola
Una variabile è caratterizzata da:
In generale una variabile è caratterizzata da tre elementi:
tipo: indica se la variabile è un valore intero, reale, un
carattere e così via;
nome: deve essere univoco e «significativo» (cioè inerente al
ruolo che la variabile ricopre nell'elaborazione);
contenuto: il valore che in un certo passo dell'elaborazione
è assegnato alla variabile.
4
Dichiarazione di una variabile in VB
Dim <nome variabile> As <tipo>
Dove
Dim , As sono due delle parole chiavi del linguaggio VB,
<nome variabile> è il nome da noi assegnato alla variabile
<tipo> è il tipo di dati a cui si riferisce
Esempio :
Dim x As Integer
5
Si è dichiarata la variabile
di nome ‘x’ di tipo Integer
, cioè di un particolare
tipo numerico intero
Dichiarazione di più variabili in VB
Più variabili di uno stesso tipo possono essere dichiarate in
un’unica istruzione
Dim <nome variabile1>, <nome variabile2>, <nome
variabile3>, …., <nome variabile n> As <tipo>
Esempio :
Dim s1,s2,s3 As String
6
Nome di una variabile
Quali nomi usare? Quali regole ?
Nomi brevi, intuitivi e facili da ricordare
Mettere all’inizio del nome una lettera
(es. x1 anziché 1x)
Usare nomi descrittivi combinando una o più parole,
usando una combinazione di lettere minuscole e maiuscole
(es. PercSconto )
N.B. Non usare parole chiave come nomi di
variabili!
7
I principali tipi numerici di dati in VB
Tipo
Byte
Allocazione
di memoria
(spazio
richiesto)
1 byte
Double (virgola
mobile a
8 byte
precisione doppia)
Integer
4 byte
Long (valore long
8 byte
integer)
8
Intervallo di valori
Da 0 a 255 (senza segno)
Da -1,79769313486231570E+308 a 4,94065645841246544E-324 † per i valori negativi;
Da 4,94065645841246544E-324 a
1,79769313486231570E+308 † per i valori positivi
Da -2.147.483.648 a 2.147.483.647 (con segno)
Da -9.223.372.036.854.775.808 a
9.223.372.036.854.775.807 (9,2...E+18 †) (con segno)
Altri tipi di dati in VB
Tipo
Boolean
Char (carattere
singolo)
String
Date
9
Allocazione
di memoria
(spazio
richiesto)
Intervallo di valori
2 byte
True o False
2 byte
Da 0 a 65535 (senza segno)
10 byte +
lunghezza
stringa
8 byte
Da 0 a circa 2 miliardi
Dall’1 gennaio 100 al 31 dicembre 9999
Costanti -1/2
Il codice include spesso valori costanti ripetuti più volte
oppure dipende da determinati valori numerici difficili da
ricordare in quanto non hanno alcun significato evidente.
La sintassi per la dichiarazione di costanti è la seguente:
Const <nome costante> As <tipo> = <espressione>
10
Costanti 2/2
2/2
Vb non ha bisogno del
tipo poiché sa che i dati
contenuti fra virgolette
sono di tipo stringa
Esempi :
Const Posti As Integer = 9
Const Password = "Enigma“
Const PiGreco = 3,141592654
Const Doppio = PiGreco * 2
è possibile definire
costanti in base a costanti
definite
precedentemente
11
Il nostro primo listato in VBA – 1/6
1. Aprire il
programma
Microsoft Excel
2. Fare clic sulla
scheda “Forme” del
menu “Inserisci”
3. Selezionare una
qualsiasi forma, ad
esempio la faccina
dello “smile”
12
Il nostro primo listato in VBA – 2/6
4. Dopo aver selezionato la
forma inserita, fare clic
col tasto destro del
mouse
5. Dal menu contestuale,
fare clic sulla voce
“assegna macro”
13
Il nostro primo listato in VBA – 3/6
6. Si apre la finestra di
dialogo “Assegna
macro”
7. Confermare il nome
proposto facendo clic
su “Nuovo”, poi
cliccare sul pulsante
“ok”
14
Il nostro primo listato in VBA – 4/6
8. Si apre l’ambiente di
sviluppo del
linguaggio VBA per
excel : scriveremo un
listato di codice che si
esegue facendo clic
sulla figura inserita nel
foglio di excel al quale
è associata la macro
15
Il nostro primo listato in VBA – 5/6
9. Scriviamo il seguente listato :
16
Il nostro primo listato in VBA – 5/6
9. Scriviamo il seguente listato :
dichiarazione della
variabile stringa
“saluto”
assegnazione di un
testo alla variabile
“saluto”
17
scrivo il contenuto
della variabile
“saluto” nella cella
(2,2) del foglio
excel
Il nostro primo listato in VBA – 6/6
6/6
10. Fare clic sull’icona del foglio excel della barra delle
applicazioni, si apre il foglio Excel
11. Fare clic sulla forma
12. Il programma ha inserito il contenuto della variabile
“saluto”nella cella di riga 2 e colonna 2.
18
Operatori matematici:
Operatore
+
*
/
\
Mod
^
19
Funzione
Somma
Sottrazione
Moltiplicazione
Divide e restituisce un
numero a virgola mobile
Divide e restituisce un
numero intero
Divide e restituisce solo il
resto
Eleva a potenza
Utilizzo
Risultato = X + Y
Risultato = X - Y
Risultato = X * Y
Risultato = X / Y
Risultato = X \ Y
Risultato = X Mod Y
Il resto è un intero
Risultato = X ^ Y
Operatori di confronto:
Operatore
<
<=
>
>=
<>
<
20
Funzione
Minore
Minore o Uguale
Maggiore
Maggiore o Uguale
Diverso (utilizzabile anche
con le stringhe)
Minore
L’operatore di concatenazione stringhe
Un altro operatore che si usa spesso è quello di concatenazione
stringhe : &
Esempio
Dim x As String
x = "Con" & "catena" & "zione"
Cells(1, 1) = x
21
Gli operatori logici
Gli operatori logici gestiscono i valori true e false. Di seguito
sono riportati gli operatori logici più comuni:
Operatore
And
Or
Not
22
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.
Istruzione If...
If...Then
...Then
Consentono di eseguire un gruppo di istruzioni in modo
condizionale in base al valore di un'espressione.
Sintassi :
If <condizione> Then ‘se la condizione è vera
<Istruzioni>
‘esegui una o più istruzioni
End If
i commenti si
inseriscono mettendo un
singolo apice iniziale : è
sempre bene inserirne
tanti!
23
Istruzione If...
If...Then…Else
...Then…Else
Possiamo usare l'istruzione If...Then...Else quando vogliamo
oppure scegliere quale tra due blocchi di codice eseguire in base ad
una condizione.
Sintassi :
If <condizione> Then ‘se la condizione è vera
<Istruzioni>
‘esegui una o più
istruzioni
Else
‘altrimenti
<IstruzioniAlternative> ‘esegui le istruzioni
alternative
End If
24