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...
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