Excel Avanzato PERSONALIZZARE EXCEL © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 CAPITOLO 7 PERSONALIZZARE EXCEL Barra di accesso rapido Barra multifunzione Opzioni di Excel Macro VBA Giorgio Porcu - Excel Avanzato © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • • • • • SOMMARIO 2 PERSONALIZZARE EXCEL CAPITOLO 7 Barra di accesso rapido Le barre nell’interfaccia di Excel 3 PERSONALIZZARE EXCEL Giorgio Porcu - Excel Avanzato © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • Dalla versione 2007 di Excel non è più presente la Barra dei Menu per accedere a tutte le funzioni in modalità testuale • Le singole Barre degli strumenti, visualizzabili in contemporanea sull’interfaccia sono state inoltre sostituite dalla Barra multifunzione che rende visibile una sola Scheda alla volta Barra di accesso rapido Giorgio Porcu - Excel Avanzato 4 PERSONALIZZARE EXCEL • Nella versione 2007 non è possibile personalizzare le Schede della Barra multifunzione • Per richiamare rapidamente le funzioni più utilizzate, indipendentemente dalla Scheda di appartenenza, è stata prevista la nuova Barra di accesso rapido • La Barra è integrata di default sulla Barra del titolo della finestra Excel, ma può essere spostata e personalizzata © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Utilità e posizionamento della Barra Barra di accesso rapido Riposizionare la Barra Appare il Menu a discesa Personalizza barra di accesso rapido 2. Seleziona (o deseleziona) l’opzione Mostra sotto la barra multifunzione Giorgio Porcu - Excel Avanzato 5 PERSONALIZZARE EXCEL © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • Per riposizionare la Barra di accesso rapido: 1. Click su freccia in basso in Barra di accesso rapido Barra di accesso rapido Personalizzare la Barra © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • Per personalizzare la Barra di accesso rapido: 1. Click su freccia in basso in Barra di accesso rapido Appare il Menu a discesa Personalizza barra di accesso rapido 2. Seleziona l’opzione Altri comandi… Giorgio Porcu - Excel Avanzato 6 PERSONALIZZARE EXCEL Appare la Finestra di dialogo Opzioni di Excel > Personalizzazione Barra di accesso rapido Personalizzare la Barra 7 PERSONALIZZARE EXCEL Giorgio Porcu - Excel Avanzato © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 3. Sulla Finestra di Dialogo seleziona dall’elenco a sx i comandi desiderati da aggiungere e inseriscili sulla Barra (elenco a dx) con il pulsante <Aggiungi> In alternativa, seleziona a dx i comandi già in Barra non desiderati ed eliminali col pulsante <Rimuovi> Barra multifunzione © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • La Barra multifunzione è il cuore dell’interfaccia grafica di Excel dalla versione 2007 • E’ suddivisa in Schede che contengono tutti i comandi e le funzioni del programma Schede Giorgio Porcu - Excel Avanzato 8 PERSONALIZZARE EXCEL Barra Multifunzione Barra multifunzione Pulsante Gruppo Giorgio Porcu - Excel Avanzato 9 PERSONALIZZARE EXCEL • Ogni Scheda è a sua volta suddivisa gerarchicamente in Gruppi contenenti Pulsanti. Questi ultimi sono i comandi veri e propri • In ogni istante è visualizzata una sola scheda; per passare da una scheda a un’altra occorre cliccare sull’etichetta del nome della scheda desiderata © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Schede, Gruppi e Pulsanti Barra multifunzione Può essere nascosta, per esigenze di spazio sullo schermo Non può essere personalizzata a livello di comandi sulle singole schede. Eventuali comandi di uso comune possono essere riportati sulla Barra di accesso rapido Giorgio Porcu - Excel Avanzato 10 PERSONALIZZARE EXCEL • La Barra multifunzione e le relative Schede sostituiscono le Barre degli Strumenti e la Barra dei Menu delle precedenti versioni di Excel • Nella versione 2007 di Excel la Barra multifunzione: © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Gestione in Excel 2007 Barra multifunzione Appare il Menu a discesa Personalizza barra di accesso rapido 2. Seleziona (o deseleziona) l’opzione Riduci a icona barra multifunzione Giorgio Porcu - Excel Avanzato 11 PERSONALIZZARE EXCEL • Per nascondere (ripristinare) la Barra multifunzione: 1. Click su freccia in basso in Barra di accesso rapido © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Nascondere la Barra Impostazioni generali del programma Opzioni di correzione Personalizzazione della Barra di accesso rapido Opzioni di salvataggio Protezione dati Giorgio Porcu - Excel Avanzato 12 PERSONALIZZARE EXCEL • Per modificare o impostare opzioni più specifiche sul funzionamento del programma, si può ricorrere alla finestra Opzioni di Excel • La finestra Opzioni consente di regolare nel dettaglio il funzionamento di parametri quali: © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Opzioni di Excel Opzioni di Excel Visualizzare la finestra Opzioni © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • Per visualizzare la finestra Opzioni di Excel: 1. Pulsante Office > Opzioni di Excel Giorgio Porcu - Excel Avanzato 13 PERSONALIZZARE EXCEL Appare la Finestra di dialogo Opzioni di Excel Sono utili e comode per memorizzare una sola volta sequenze personalizzate di comandi e richiamarle in seguito con pochi click, senza ripeterle Sono potenzialmente pericolose, perché possono contenere virtualmente qualsiasi comando. Esistono Macro malevole o Virus di Macro realizzate allo scopo di danneggiare dati o compiere operazioni indesiderate Giorgio Porcu - Excel Avanzato 14 PERSONALIZZARE EXCEL • Una Macro è una sequenza di comandi in grado di realizzare uno specifico obiettivo, cui è associato un nome identificativo scelto dall’utente • Le Macro presentano vantaggi e qualche rischio: © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Macro Macro Operazioni sulle Macro un registratore virtuale che cattura e memorizza i comandi eseguiti dall’utente sull’interfaccia Richiamare una Macro precedentemente registrata per eseguirla su altri Fogli o Cartelle di lavoro Modificare (o Creare da zero) una Macro in modalità esperta utilizzando il linguaggio di programmazione VBA Impostare un opportuno livello di sicurezza per proteggere i dati dall’esecuzione arbitraria di Macro indesiderate Giorgio Porcu - Excel Avanzato 15 PERSONALIZZARE EXCEL Registrare una Macro in maniera semplificata, attivando © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • Excel consente di: Macro Scheda Sviluppo 16 PERSONALIZZARE EXCEL Giorgio Porcu - Excel Avanzato © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • Le opzioni riguardanti le Macro e il linguaggio di programmazione VBA sono raccolte in Excel 2007 nella Scheda Sviluppo • Questa Scheda non è visibile di default sulla Barra multifunzione ma va attivata esplicitamente con un comando presente nella finestra Opzioni di Excel Macro Attivare la Scheda Sviluppo 2. Dal menu Impostazioni generali attiva il segno di spunta sull’opzione Mostra scheda Sviluppo sulla barra multifunzione Giorgio Porcu - Excel Avanzato 17 PERSONALIZZARE EXCEL © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • Per attivare la Scheda Sviluppo: 1. Apri la finestra Opzioni di Excel Macro Registrare Macro Appare la Finestra di dialogo Registra macro Giorgio Porcu - Excel Avanzato 18 PERSONALIZZARE EXCEL © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • Per registrare una Macro: 1. Scheda Sviluppo > Codice > Registra macro Macro Eseguire Macro Appare la Finestra di dialogo Macro Giorgio Porcu - Excel Avanzato 19 PERSONALIZZARE EXCEL © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • Per eseguire una Macro registrata in precedenza: 1. Scheda Sviluppo > Codice > Macro Macro • Per modificare una Macro in modalità esperta con il linguaggio VBA: 1. Apri il Foglio/Cartella contenente la Macro 2. Scheda Sviluppo > Codice > Visual Basic © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Modificare Macro Giorgio Porcu - Excel Avanzato 20 PERSONALIZZARE EXCEL Appare la Finestra di dialogo Visual Basic Editor Macro Impostare protezione Macro Appare la Finestra di dialogo Centro protezione Giorgio Porcu - Excel Avanzato 21 PERSONALIZZARE EXCEL © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • Per impostare il livello di protezione Macro: 1. Scheda Sviluppo > Codice > Protezione macro • In Excel e in tutte le applicazioni di Microsoft Office è integrato Visual Basic for Application (VBA), un potente linguaggio di programmazione • E’ utilizzabile per personalizzare al massimo le caratteristiche dei propri documenti e realizzare nuove funzionalità non ottenibili con i comandi standard offerti dal programma • Consente di creare programmi VBA associati ai documenti (Fogli e Cartelle di lavoro) sui quali opera © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 22 PERSONALIZZARE EXCEL VBA Giorgio Porcu - Excel Avanzato VBA • VBA è un linguaggio a interfaccia visuale e ad eventi cioè: E’ basato su oggetti grafici, detti Controlli (formalmente Controlli ActiveX), da disporre sul Foglio di lavoro Ad ogni Controllo è associabile un Codice eseguito al verificarsi di un particolare Evento © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Elementi di base del linguaggio Evento Codice Giorgio Porcu - Excel Avanzato 23 PERSONALIZZARE EXCEL Controllo VBA Controlli, Eventi, Codice • Esempi tipici di Controlli, Eventi e Codice in VBA: © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Un Controllo molto usato è il Pulsante di comando L’ Evento più semplice è il Click su un controllo Un possibile Codice potrebbe prevedere la modifica dei dati su una cella di un particolare Foglio di lavoro Click “Modifica sul Foglio A i dati della cella X” Evento Codice Giorgio Porcu - Excel Avanzato 24 PERSONALIZZARE EXCEL Controllo VBA • Unendo i tre esempi precedenti, potremo realizzare un semplice programma VBA che: Dato un Pulsante di comando su un Foglio di lavoro… …a ogni Click dell’utente sul controllo Pulsante… …esegua il Codice che modifica i dati Click “Modifica sul Foglio A i dati della cella X” © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Esempio di programma Evento Codice Giorgio Porcu - Excel Avanzato 25 PERSONALIZZARE EXCEL Controllo VBA • Per realizzare effettivamente un programma come quello descritto in precedenza è necessario: Saper inserire e gestire i Controlli. I Controlli in VBA sono gestibili in maniera semplice e grafica senza particolari requisiti per l’utente Scrivere correttamente Codice VBA. Questo implica una conoscenza almeno minima del linguaggio Visual Basic e della sue regole di sintassi e non è alla portata immediata di tutti gli utenti © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Realizzare un programma VBA Giorgio Porcu - Excel Avanzato 26 PERSONALIZZARE EXCEL • La scrittura di Codice VBA è argomento che va oltre gli scopi di questo corso; ci limiteremo ad alcuni accenni VBA Controlli e Macro © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • I Controlli VBA e il meccanismo degli Eventi sono utilizzabili anche in combinazione con le Macro • E’ possibile cioè, posizionare un Controllo su un Foglio e associarlo a una Macro con l’evento Click • La Macro può essere scritta in VBA o registrata Click Evento Giorgio Porcu - Excel Avanzato 27 PERSONALIZZARE EXCEL Macro Controllo VBA • Per inserire un controllo VBA cui associare una Macro o del Codice VBA: 1. Apri il Foglio di lavoro desiderato 2. Scheda Sviluppo > Controlli > Inserisci Appare il Menu Controlli © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Inserire un controllo VBA Giorgio Porcu - Excel Avanzato 28 PERSONALIZZARE EXCEL 3. Dalla sezione Controlli ActiveX seleziona il controllo desiderato e trascinalo sul Foglio VBA Giorgio Porcu - Excel Avanzato 29 PERSONALIZZARE EXCEL • Ogni Controllo possiede caratteristiche specifiche, dette Proprietà. Come in tutti i linguaggi di programmazione, sono indicate in Inglese • La più importante è la Proprietà Name che definisce in modo univoco il nome del Controllo • Ne esistono molte altre che consentono, ad esempio, di variare le caratteristiche grafiche dell’oggetto • Le Proprietà sono gestibili in maniera visuale da un apposita Finestra © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Controlli e Proprietà VBA Gestire le proprietà di un controllo © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • Per gestire le proprietà di un controllo VBA: 1. Seleziona il controllo 2. Scheda Sviluppo > Controlli > Proprietà Appare la Finestra Proprietà Giorgio Porcu - Excel Avanzato 30 PERSONALIZZARE EXCEL 3. Dalla Finestra Proprietà visualizza e modifica i valori delle proprietà desiderate VBA • I Controlli VBA sono facilmente gestibili in modo grafico. Per realizzare un programma VBA completo occorre però associarvi del Codice mediante Eventi • Il Codice VBA vero e proprio è un documento di testo Scritto in linguaggio VBA Incorporato nella Cartella di lavoro su cui opera Cartella di lavoro Excel © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Codice VBA Giorgio Porcu - Excel Avanzato 31 PERSONALIZZARE EXCEL Codice VBA VBA Codice VBA: Subroutine © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • Il Codice VBA è suddiviso in Subroutine, porzioni di codice che eseguono compiti specifici • Si può creare una Subroutine per ogni coppia Controllo-Evento. Conterrà il codice da eseguire al verificarsi dell’Evento su quel Controllo • Ogni Subroutine ha un nome identificativo Subroutine 1 Subroutine 2 Subroutine 3 Giorgio Porcu - Excel Avanzato 32 PERSONALIZZARE EXCEL Codice VBA VBA • La sintassi VBA prevede che una Subroutine associata a una coppia Controllo-Evento: Abbia nome NomeControllo_NomeEvento() Sia racchiusa tra le righe di codice: Private Sub NomeControllo_NomeEvento() … End Sub Private Sub CmdCambia_Click() … End Sub è una Subroutine associata al Controllo CmdCambia tramite l’Evento Click Giorgio Porcu - Excel Avanzato 33 PERSONALIZZARE EXCEL Esempio: © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Codice VBA: Sintassi Subroutine VBA Giorgio Porcu - Excel Avanzato 34 PERSONALIZZARE EXCEL • Excel e i programmi di Office mettono a disposizione un’ambiente di programmazione visuale (Visual Basic Editor) per scrivere e testare il Codice VBA • Occorre richiamarlo ogni volta che si vuol lavorare con il linguaggio VBA © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 Codice VBA: Visual Basic Editor VBA Scrivere un programma VBA © 2012 Giorgio Porcu – Aggiornamennto 12/05/2012 • Per scrivere un programma VBA associato a un documento Excel: 1. Apri la Cartella di lavoro desiderata 2. Scheda Sviluppo > Codice > Visual Basic Giorgio Porcu - Excel Avanzato 35 PERSONALIZZARE EXCEL Appare la Finestra di dialogo Visual Basic Editor