Algoritmi, Procedure, Da Excel al VBA Introduzione alla Programmazione e Applicazioni per la Finanza...
-
Upload
girolamo-toscano -
Category
Documents
-
view
230 -
download
3
Transcript of Algoritmi, Procedure, Da Excel al VBA Introduzione alla Programmazione e Applicazioni per la Finanza...
![Page 1: Algoritmi, Procedure, Da Excel al VBA Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 8 Anno accademico 2006-07.](https://reader036.fdocuments.net/reader036/viewer/2022082402/5542eb4a497959361e8b6bf8/html5/thumbnails/1.jpg)
Algoritmi, Procedure, Da Excel al VBA
Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati)
Lezione 8
Anno accademico 2006-07
Titolare corso: Prof. Costanza Torricelli
Docente: Dott.ssa Marianna Brunetti
![Page 2: Algoritmi, Procedure, Da Excel al VBA Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 8 Anno accademico 2006-07.](https://reader036.fdocuments.net/reader036/viewer/2022082402/5542eb4a497959361e8b6bf8/html5/thumbnails/2.jpg)
Algoritmi, Procedure, Da Excel al VBA
Algoritmi: Caratteristiche e Rappresentazioni
Algoritmo: successione finita di azioni per la risoluzione di un problema
• le azioni sono univoche
• l’algoritmo non è casuale se ripetuto, anche in momenti diversi, con gli
stessi dati iniziali deve dare il medesimo output
Definizione e caratteristiche
Rappresentazioni
1. Forma Discorsiva
2. Graficamente diagramma di flusso (flow chart)
3. Linguaggio di Programmazione (crf. Guida in Linea, F1)
![Page 3: Algoritmi, Procedure, Da Excel al VBA Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 8 Anno accademico 2006-07.](https://reader036.fdocuments.net/reader036/viewer/2022082402/5542eb4a497959361e8b6bf8/html5/thumbnails/3.jpg)
Algoritmi, Procedure, Da Excel al VBA
Dalle Macro al Visual Basic for Application (VBA)
• I registratori di macro
• Fine ’80 – Inizio ’90 Visual Basic
• 1997 Microsoft introduce il VBA
La registrazione di una nuova macro
Strumenti Macro Registra nuova macro
4 elementi fondamentali: NomeScelta rapida (CTRL+…)Memorizza in…Descrizione
Barra di registrazione: Tasto “interrompi registrazione”Tasto riferimento relativo
![Page 4: Algoritmi, Procedure, Da Excel al VBA Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 8 Anno accademico 2006-07.](https://reader036.fdocuments.net/reader036/viewer/2022082402/5542eb4a497959361e8b6bf8/html5/thumbnails/4.jpg)
Algoritmi, Procedure, Da Excel al VBA
Esempio: Registrazione della Macro “Formattazione”
1. Registra Macro Nome: Formattazione
2. Somme in celle B15 e C15
3. Grassetto riga 3 e 15
4. Formato valuta: € (colonna B) e £ (colonna C)
5. Interrompi registrazioneA B C
1
23 Tipologia Titolo mln. Euro mld. Lire45 BOT € 102,093.00 ITL 197,679.006 CCT € 238,240.00 ITL 461,298.007 CTE € 1,500.00 ITL 2,904.008 CTZ € 62,416.00 ITL 120,854.009 BTP € 594,568.00 ITL 1,151,244.0010 Estero valuta EMU € 19,702.00 ITL 28,148.0011 Estero non valuta EMU € 52,028.00 ITL 100,741.0012 F.S. € 3,486.00 ITL 6,750.0013 BTP 1% € 40,524.00 ITL 78,465.001415 Totale € 1,114,557.00 ITL 2,148,083.00
COMPOSIZIONE DEI TITOLI DI STATO
in circolazione al 31 Dicembre 2000(fonte: Ministero del Tesoro www.tesoro.it)
![Page 5: Algoritmi, Procedure, Da Excel al VBA Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 8 Anno accademico 2006-07.](https://reader036.fdocuments.net/reader036/viewer/2022082402/5542eb4a497959361e8b6bf8/html5/thumbnails/5.jpg)
Algoritmi, Procedure, Da Excel al VBA
L’esecuzione di una macro Strumenti Macro Macro
Esegui: tutte le operazioni registrate vengono eseguite
Incremento: le operazioni vengono eseguite passo per passo (evidenziazione gialla F8 per procedere)
Modifica: consente di editare la macro registrata
Sub Formattazione()
Formattazione MacroScelta rapida da tastiera: CTRL+f
Range("B15").Select ActiveCell.FormulaR1C1 = "=SUM(R[-10]C:R[-2]C)" Range("C15").Select ActiveCell.FormulaR1C1 = "=SUM(R[-10]C:R[-2]C)" Rows("3:3").Select Selection.Font.Bold = True Rows("15:15").Select Selection.Font.Bold = True Range("B5:B15").Select Selection.NumberFormat = "[$€-2] #,##0.00" Range("C5:C15").Select Selection.NumberFormat = "[$ITL] #,##0.00“
End Sub
![Page 6: Algoritmi, Procedure, Da Excel al VBA Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 8 Anno accademico 2006-07.](https://reader036.fdocuments.net/reader036/viewer/2022082402/5542eb4a497959361e8b6bf8/html5/thumbnails/6.jpg)
Algoritmi, Procedure, Da Excel al VBA
L’Esecuzione di una macro (2)
L’utilizzo di un pulsante di una barra degli strumenti
Visualizza Barre degli strumenti Personalizza
• scegliere la scheda Comandi, quindi selezionare Macro
dall'elenco Categorie.
• Dall’elenco Comandi trascinare il pulsante Personalizzato su una
barra degli strumenti
• Fare clic sul pulsante della barra degli strumenti Assegna
macro: nella casella Nome macro immettere il nome della macro.
![Page 7: Algoritmi, Procedure, Da Excel al VBA Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 8 Anno accademico 2006-07.](https://reader036.fdocuments.net/reader036/viewer/2022082402/5542eb4a497959361e8b6bf8/html5/thumbnails/7.jpg)
Algoritmi, Procedure, Da Excel al VBA
Editor VBA
1. Strumenti Macro VBA Editor
2. Visualizza
Codice (attivabile anche con F7): in cui si può esaminare, creare o
modificare il codice VBA
Gestione Progetto (CLTR+R):
• Struttura ad albero
• Moduli
• Oggetti
Finestra Proprietà (F4) : elenca tutte le proprietà dell’oggetto selezionato
Finestra immediata (CTRL+G): calcola espressioni, esegue il codice
ecc… uno dei migliori strumenti per capire se e perché il codice non
funziona
![Page 8: Algoritmi, Procedure, Da Excel al VBA Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 8 Anno accademico 2006-07.](https://reader036.fdocuments.net/reader036/viewer/2022082402/5542eb4a497959361e8b6bf8/html5/thumbnails/8.jpg)
Algoritmi, Procedure, Da Excel al VBA
Le Procedure
1. Subroutine
2. Function
Sub <Nome Subroutine> ()…End Sub
NB: eseguono 1 o più compiti ma non restituiscono un valore finale
Esempi : a) registrazione macro
b) macro “test_variabili”
Function <Nome Funzione> (parametro1, … parametro n)… End Function
NB: eseguono 1 o più operazioni e restituiscono un valore finale
Esempi che vedremo in seguito: a) la Funzione1
b) varie funzioni per il calcolo di n!
![Page 9: Algoritmi, Procedure, Da Excel al VBA Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 8 Anno accademico 2006-07.](https://reader036.fdocuments.net/reader036/viewer/2022082402/5542eb4a497959361e8b6bf8/html5/thumbnails/9.jpg)
Algoritmi, Procedure, Da Excel al VBA
Creazione di nuove funzioni
Funzione definita dall’utente lista di istruzioni che servono per ottenere un determinato valore.
1. Attivare l’editor VBA: Strumenti Macro VBA Editor (ALT+F11)
2. La funzione deve essere inserita in un Modulo: Inserisci Modulo
3. Editiamo la funzione, inserendo i 3 elementi fondamentali:
• Riga di intestazione con il nome della funzione e una serie di parametri
• Righe di programma
• Riga di chiusura (inserita da VBA)
Esempio
Function Funzione1(parametro)
Funzione1 = parametro * 3 + 1 End Function
![Page 10: Algoritmi, Procedure, Da Excel al VBA Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 8 Anno accademico 2006-07.](https://reader036.fdocuments.net/reader036/viewer/2022082402/5542eb4a497959361e8b6bf8/html5/thumbnails/10.jpg)
Algoritmi, Procedure, Da Excel al VBA
• Strumenti Macro Macro (ALT+F8)
• Nome Macro scriviamo: Funzione 1
• Opzioni: scrivere la descrizione (ed eventuale scelta rapida da tastiera)
Creazione di nuove funzioni – Aggiunta descrizione
Gli errori in VBA
• Errore 1: sintassi errata
Esempio Funzione1 = parametro * 3 1
Messaggio immediato: Errore di compilazione
• Errore 2: sintassi corretta ma con errore di digitazioneEsempioFunzione2 = parametro * 3 + 1
Si riconosce quando si esegue la macro: - Riga iniziale funzione in giallo ed evidenziata da una freccia - Parte errata è evidenziata in blu-Il modulo di VBA è in interruzione