Introduzione alla Programmazione e Applicazioni per la Finanza

  • Slides: 10
Download presentation
Introduzione alla Programmazione e Applicazioni per la Finanza M 2 (Prodotti Derivati) Lezione 8

Introduzione alla Programmazione e Applicazioni per la Finanza M 2 (Prodotti Derivati) Lezione 8 Anno accademico 2006 -07 Titolare corso: Prof. Costanza Torricelli Docente: Dott. ssa Marianna Brunetti Algoritmi, Procedure, Da Excel al VBA

Algoritmi: Caratteristiche e Rappresentazioni Definizione e caratteristiche Algoritmo: successione finita di azioni per la

Algoritmi: Caratteristiche e Rappresentazioni Definizione e caratteristiche 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 Rappresentazioni 1. Forma Discorsiva 2. Graficamente diagramma di flusso (flow chart) 3. Linguaggio di Programmazione (crf. Guida in Linea, F 1) Algoritmi, Procedure, Da Excel al VBA

Dalle Macro al Visual Basic for Application (VBA) • I registratori di macro •

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: ØNome ØScelta rapida (CTRL+…) ØMemorizza in… ØDescrizione ØBarra di registrazione: ØTasto “interrompi registrazione” ØTasto riferimento relativo Algoritmi, Procedure, Da Excel al VBA

Esempio: Registrazione della Macro “Formattazione” 1. Registra Macro Nome: Formattazione 2. Somme in celle

Esempio: Registrazione della Macro “Formattazione” 1. Registra Macro Nome: Formattazione 2. Somme in celle B 15 e C 15 3. Grassetto riga 3 e 15 4. Formato valuta: € (colonna B) e £ (colonna C) 5. Interrompi registrazione Algoritmi, Procedure, Da Excel al VBA

L’esecuzione di una macro Ø Strumenti Macro ØEsegui: tutte le operazioni registrate vengono eseguite

L’esecuzione di una macro Ø Strumenti Macro ØEsegui: tutte le operazioni registrate vengono eseguite ØIncremento: le operazioni vengono eseguite passo per passo (evidenziazione gialla F 8 per procedere) ØModifica: consente di editare la macro registrata Sub Formattazione() Formattazione Macro Scelta rapida da tastiera: CTRL+f Range("B 15"). Select Active. Cell. Formula. R 1 C 1 = "=SUM(R[-10]C: R[-2]C)" Range("C 15"). Select Active. Cell. Formula. R 1 C 1 = "=SUM(R[-10]C: R[-2]C)" Rows("3: 3"). Selection. Font. Bold = True Rows("15: 15"). Selection. Font. Bold = True Range("B 5: B 15"). Selection. Number. Format = "[$€-2] #, ##0. 00" Range("C 5: C 15"). Selection. Number. Format = "[$ITL] #, ##0. 00“ End Sub Algoritmi, Procedure, Da Excel al VBA

L’Esecuzione di una macro (2) L’utilizzo di un pulsante di una barra degli strumenti

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. Algoritmi, Procedure, Da Excel al VBA

Editor VBA 1. Strumenti Macro VBA Editor 2. Visualizza Ø Codice (attivabile anche con

Editor VBA 1. Strumenti Macro VBA Editor 2. Visualizza Ø Codice (attivabile anche con F 7): in cui si può esaminare, creare o modificare il codice VBA Ø Gestione Progetto (CLTR+R): • • • Ø Struttura ad albero Moduli Oggetti Finestra Proprietà (F 4) : 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 Algoritmi, Procedure, Da Excel al VBA

Le Procedure 1. Subroutine Sub <Nome Subroutine> () … End Sub NB: eseguono 1

Le Procedure 1. Subroutine 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” 2. Function <Nome Funzione> (parametro 1, … parametro n) … End Function NB: eseguono 1 o più operazioni e restituiscono un valore finale Esempi che vedremo in seguito: a) la Funzione 1 b) varie funzioni per il calcolo di n! Algoritmi, Procedure, Da Excel al VBA

Creazione di nuove funzioni Funzione definita dall’utente lista di istruzioni che servono per ottenere

Creazione di nuove funzioni Funzione definita dall’utente lista di istruzioni che servono per ottenere un determinato valore. 1. 2. 3. Attivare l’editor VBA: Strumenti Macro VBA Editor (ALT+F 11) La funzione deve essere inserita in un Modulo: Inserisci Modulo 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 Funzione 1(parametro) Funzione 1 = parametro * 3 + 1 End Function Algoritmi, Procedure, Da Excel al VBA

Creazione di nuove funzioni – Aggiunta descrizione • Strumenti Macro (ALT+F 8) • Nome

Creazione di nuove funzioni – Aggiunta descrizione • Strumenti Macro (ALT+F 8) • Nome Macro scriviamo: Funzione 1 • Opzioni: scrivere la descrizione (ed eventuale scelta rapida da tastiera) Gli errori in VBA • Errore 1: sintassi errata Esempio Funzione 1 = parametro * 3 1 Messaggio immediato: Errore di compilazione • Errore 2: sintassi corretta ma con errore di digitazione Esempio Funzione 2 = 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 Algoritmi, Procedure, Da Excel al VBA