Algoritmi, Procedure, Da Excel al VBA Introduzione alla Programmazione e Applicazioni per la Finanza...

10
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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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