La registrazione di una nuova macro
Transcript
La registrazione di una nuova macro
Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 8 Anno accademico 2005-06 Titolare corso: Prof. Costanza Torricelli Docente a contratto: Dott. Marianna Brunetti Introduzione 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: ¾Nome ¾Scelta rapida (CTRL+…) ¾Memorizza in… ¾Descrizione ¾Barra di registrazione: ¾Tasto “interrompi registrazione” ¾Tasto riferimento relativo Introduzione 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 registrazione A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 B C COMP OS IZ IONE DE I T IT OL I DI S T AT O in circolazione al 31 Dicembre 2000 (fonte: Ministero del Tesoro www.tesoro.it) Tipologia Titolo BOT CCT CTE CTZ BTP Estero valuta EMU Estero non valuta EMU F.S. BTP 1% Tota le mln. Euro mld. Lire € 102,093.00 € 238,240.00 € 1,500.00 € 62,416.00 € 594,568.00 € 19,702.00 € 52,028.00 € 3,486.00 € 40,524.00 ITL 197,679.00 ITL 461,298.00 ITL 2,904.00 ITL 120,854.00 ITL 1,151,244.00 ITL 28,148.00 ITL 100,741.00 ITL 6,750.00 ITL 78,465.00 € 1,114,557.00 ITL 2,148,083.00 Introduzione al VBA L’esecuzione di una macro ¾ Strumenti Î Macro Î Macro ¾Esegui: tutte le operazioni registrate vengono eseguite ¾Interrompi: le operazioni vengono eseguite passo per passo (evidenziazione gialla ÎF8 per procedere) ¾Modifica: consente di editare la macro registrata Sub Formattazione() '' 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 Introduzione 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. Introduzione 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 Introduzione al VBA 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+F11) 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 Funzione1(parametro) Funzione1 = parametro * 3 + 1 End Function Introduzione al VBA Creazione di nuove funzioni – Aggiunta descrizione • Strumenti Î Macro Î Macro (ALT+F8) • Nome Macro scriviamo: Funzione 1 • Opzioni: scrivere la descrizione (ed eventuale scelta rapida da tastiera) 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 digitazione EsempioÎFunzione2 = parametro * 3 + 1 Si riconosce quando si esegue la macro: - Il modulo di VBA è in interruzione - parte errata è evidenziata in blu - Riga iniziale funzione in giallo ed evidenziata da una freccia Introduzione al VBA