Upload
giachetta-donati
View
215
Download
0
Embed Size (px)
Citation preview
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12
CAPITOLO
7
PERSONALIZZARE EXCEL
Excel Avanzato
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12
Giorgio Porcu - Excel Avanzato 2
PERS
ON
ALIZ
ZAR
E EX
CEL
7CAPI
TOLO
SOMMARIOPERSONALIZZARE EXCEL
• Barra di accesso rapido• Barra multifunzione• Opzioni di Excel• Macro• VBA
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
Barra di accesso rapidoLe barre nell’interfaccia di Excel
• 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
3Giorgio Porcu - Excel Avanzato
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
Barra di accesso rapidoUtilità e posizionamento della Barra
• 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
4Giorgio Porcu - Excel Avanzato
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
Barra di accesso rapidoRiposizionare la Barra
• Per riposizionare la Barra di accesso rapido:1. Click su freccia in basso in Barra di accesso rapido
Appare il Menu a discesaPersonalizza barra di accesso rapido
2. Seleziona (o deseleziona) l’opzioneMostra sottola barra multifunzione
5Giorgio Porcu - Excel Avanzato
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
• Per personalizzare la Barra di accesso rapido:1. Click su freccia in basso in Barra di accesso rapido
Appare il Menu a discesaPersonalizza barra di accesso rapido
2. Seleziona l’opzione Altri comandi…
Appare la Finestra di dialogoOpzioni di Excel > Personalizzazione
6Giorgio Porcu - Excel Avanzato
Barra di accesso rapidoPersonalizzare la Barra
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
Barra di accesso rapidoPersonalizzare la Barra
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>
7Giorgio Porcu - Excel Avanzato
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
Barra multifunzione
• 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
8Giorgio Porcu - Excel Avanzato
Barra Multifunzione
Schede
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
• 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
9Giorgio Porcu - Excel Avanzato
GruppoPulsante
Barra multifunzioneSchede, Gruppi e Pulsanti
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
• 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: 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
10Giorgio Porcu - Excel Avanzato
Barra multifunzioneGestione in Excel 2007
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
• Per nascondere (ripristinare) la Barra multifunzione:1. Click su freccia in basso in Barra di accesso rapido
Appare il Menu a discesaPersonalizza barra di accesso rapido
2. Seleziona (o deseleziona) l’opzioneRiduci a iconabarra multifunzione
11Giorgio Porcu - Excel Avanzato
Barra multifunzioneNascondere la Barra
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
Opzioni di 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: Impostazioni generali del programma Opzioni di correzione Personalizzazione della Barra di accesso rapido Opzioni di salvataggio Protezione dati
12Giorgio Porcu - Excel Avanzato
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
Opzioni di ExcelVisualizzare la finestra Opzioni
13Giorgio Porcu - Excel Avanzato
• Per visualizzare la finestra Opzioni di Excel:1. Pulsante Office > Opzioni di Excel
Appare laFinestra di dialogoOpzioni di Excel
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
Macro
• 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: 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
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
MacroOperazioni sulle Macro
• Excel consente di: Registrare una Macro in maniera semplificata, attivando
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
15Giorgio Porcu - Excel Avanzato
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
MacroScheda Sviluppo
• 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
16Giorgio Porcu - Excel Avanzato
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
MacroAttivare la Scheda Sviluppo
17Giorgio Porcu - Excel Avanzato
• Per attivare la Scheda Sviluppo:1. Apri la finestra Opzioni di Excel
2. Dal menu Impostazioni generali attiva il segno di spunta sull’opzione Mostra scheda Sviluppo sulla barra multifunzione
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
MacroRegistrare Macro
18Giorgio Porcu - Excel Avanzato
• Per registrare una Macro:1. Scheda Sviluppo > Codice > Registra macro
Appare laFinestra di dialogoRegistra macro
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
MacroEseguire Macro
19Giorgio Porcu - Excel Avanzato
• Per eseguire una Macro registrata in precedenza:1. Scheda Sviluppo > Codice > Macro
Appare laFinestra di dialogoMacro
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
MacroModificare Macro
20Giorgio Porcu - Excel Avanzato
• Per modificare una Macro in modalità esperta con il linguaggio VBA:
1. Apri il Foglio/Cartella contenente la Macro2. Scheda Sviluppo > Codice > Visual Basic
Appare laFinestra di dialogoVisual Basic Editor
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
MacroImpostare protezione Macro
21Giorgio Porcu - Excel Avanzato
• Per impostare il livello di protezione Macro:1. Scheda Sviluppo > Codice > Protezione macro
Appare laFinestra di dialogoCentro protezione
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
VBA
• 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
Giorgio Porcu - Excel Avanzato 22
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
• 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
Giorgio Porcu - Excel Avanzato 23
VBAElementi di base del linguaggio
ControlloEvento
Codice
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
ControlloEvento
Codice
• Esempi tipici di Controlli, Eventi e Codice in VBA: 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
Giorgio Porcu - Excel Avanzato 24
VBAControlli, Eventi, Codice
“Modifica sul Foglio A i dati della cella X”Click
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
• 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
Giorgio Porcu - Excel Avanzato 25
VBAEsempio di programma
ControlloEvento
Codice
“Modifica sul Foglio A i dati della cella X”Click
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
• 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
• La scrittura di Codice VBA è argomento che va oltre gli scopi di questo corso; ci limiteremo ad alcuni accenni
Giorgio Porcu - Excel Avanzato 26
VBARealizzare un programma VBA
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
• 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
Giorgio Porcu - Excel Avanzato 27
VBAControlli e Macro
MacroControlloEvento
Click
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
VBAInserire un controllo VBA
28Giorgio Porcu - Excel Avanzato
• Per inserire un controllo VBA cui associare una Macro o del Codice VBA:
1. Apri il Foglio di lavoro desiderato2. Scheda Sviluppo > Controlli > Inserisci
Appare il Menu Controlli
3. Dalla sezione Controlli ActiveXseleziona il controllo desideratoe trascinalo sul Foglio
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
• 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
Giorgio Porcu - Excel Avanzato 29
VBAControlli e Proprietà
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
VBAGestire le proprietà di un controllo
30Giorgio Porcu - Excel Avanzato
• Per gestire le proprietà di un controllo VBA:1. Seleziona il controllo2. Scheda Sviluppo > Controlli > Proprietà
Appare la Finestra Proprietà
3. Dalla Finestra Proprietàvisualizza e modifica i valoridelle proprietà desiderate
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
• 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
Giorgio Porcu - Excel Avanzato 31
VBACodice VBA
CodiceVBA
Cartella di lavoro
Excel
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
• 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
Giorgio Porcu - Excel Avanzato 32
VBACodice VBA: Subroutine
CodiceVBA
Subroutine 1
Subroutine 2
Subroutine 3
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
• 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
Esempio: Private Sub CmdCambia_Click()…End Subè una Subroutine associata al Controllo CmdCambiatramite l’Evento Click
Giorgio Porcu - Excel Avanzato 33
VBACodice VBA: Sintassi Subroutine
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
• 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
Giorgio Porcu - Excel Avanzato 34
VBACodice VBA: Visual Basic Editor
© 2
012
Gio
rgio
Por
cu –
Agg
iorn
amen
nto
12/0
5/20
12PE
RSO
NAL
IZZ
ARE
EXCE
L
VBAScrivere un programma VBA
35Giorgio Porcu - Excel Avanzato
• Per scrivere un programma VBA associato a un documento Excel:
1. Apri la Cartella di lavoro desiderata2. Scheda Sviluppo > Codice > Visual Basic
Appare laFinestra di dialogoVisual Basic Editor