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