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

Post on 01-May-2015

230 views 3 download

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

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

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)

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

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)

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

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.

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

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!

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

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