Excel 2010 formule guida esercitazioni
Excel 2010 formule guida esercitazioni
Questo sito utilizza cookie, anche di terze parti. Se vuoi saperne di più leggi la nostra Cookie Policy. Scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.I testi seguenti sono di proprietà dei rispettivi autori che ringraziamo per l'opportunità che ci danno di far conoscere gratuitamente a studenti , docenti e agli utenti del web i loro testi per sole finalità illustrative didattiche e scientifiche.
DISPENSA SULL’APPLICATIVO EXCEL 2010 (BETA)
0. PREMESSA.
Le esercitazioni EXCEL avranno struttura diversa da quella mostrata per le esercitazioni di programmazione: occorrerà consegnare uno stampato dei risultati di un esempio significativo e le formule ottenute visualizzando e poi stampando le formule al posto dei risultati con l’opportuna voce di menù: File | Opzioni | Avanzate e barrare tra le Opzioni di visualizzazione di questo foglio la voce Mostra formule nelle celle invece dei risultati calcolati (conviene anche abilitare la stampa della griglia e delle intestazioni di riga e colonna all’interno della finestra File | Stampa gruppo Impostazione, voce impostazioni di pagina linguetta Foglio).
1. INTRODUZIONE.
EXCEL è un pacchetto software integrato, costituito da un insieme di unità elaborative atte a svolgere le funzioni di Foglio Elettronico, Database e Grafica.
La funzionalità fondamentale è quella di foglio elettronico (su cui si innestano poi le altre) che consente di gestire Cartelle contenenti Fogli (tabelle) di circa un milione di righe e più di 16.000 colonne nelle cui caselle (dette celle) si possono inserire dati e/o formule (relazioni tra i dati).
Possiamo dunque vedere ogni foglio EXCEL come una grossa matrice (è utile pertanto avere presente il concetto di matrice visto in informatica).
Per meglio comprendere il successivo discorso conviene pensare alla esistenza di due matrici anziché di una sola: la matrice del Piano dei Risultati (quello che io vedo: dati e risultati dei calcoli) e la matrice del Piano dei Legami (quello che non vedo: è la struttura).
Caratteristica fondamentale di un Foglio Elettronico è quella di consentire il ricalcolo automatico di tutta la tabella in dipendenza delle modifiche effettuate sui dati.
2. UTILIZZO FOGLIO ELETTRONICO.
Per potere utilizzare Excel occorre:
- Essere all’interno dell’ambiente WINDOWS;
- Mandare in esecuzione l'applicativo EXCEL (di solito selezionando la voce Tutti i Programmi | Microsoft Office | Microsoft Excel dal menù di Start).
A questo punto si entra in ambiente EXCEL. Normalmente il video compare costituito da una serie di zone:
- La barra del titolo con l’usuale struttura comune a tutti gli applicativi Windows e contenente in più, in questa versione, le icone con le funzioni principali: salvataggio, annullamento e ripristino delle ultime operazioni eseguite,… .
- La barra del menù che da questa versione è strutturata a nastro (ribbon – barra multifunzione) cioè scelta la voce di menù relativa, sotto di essa, compare un “nastro” con l’elenco delle funzionalità associate raggruppate per tipo e individuate sempre da un icona e da un commento. Questo dovrebbe aiutare a rendere più facile da usare il programma stesso. Le funzionalità del programma sono disposte in modo abbastanza diverso rispetto alle precedenti versioni a menù.
- La barra della formula.
- La zona delle cartelle di lavoro contenenti i fogli di lavoro (ogni cartella di lavoro è una finestra figlia e contiene una certo numero di fogli di lavoro selezionabili tramite opportune linguette poste in fondo ad ogni cartella).
- Una riga di stato.
3. BREVE DESCRIZIONE DELLE ZONE.
Diamo ora una descrizione sintetica delle zone più significative tra quelle introdotte al paragrafo precedente.
La barra dei menù strutturata a nastro in fasi diverse può presentare opzioni diverse. Quando si apre una cartella sono tipicamente presenti le seguenti voci: File, Home, Inserisci, Formato di pagina, Formule, Dati, Revisione, Visualizza, Sviluppatore, ? (help).
NB Affinché compaia il menù “Sviluppatore” è necessario che venga abilitato attraverso il comando File | Opzioni Excel | Personalizza… aggiungere la linguetta (tab) “Sviluppatore” a quelle già presenti sul Nastro.
La barra della formula viene utilizzata per immettere o modificare i dati nel foglio elettronico o nei grafici. Contiene principalmente (in ordine, da sinistra a destra): l’indirizzo della cella contenente il cursore detta cella attiva (si noti che le righe sono individuate da una numerazione progressiva mentre le colonne sono individuate da lettere: dopo la Z si riprende con AA, AB, AC, ... e via dicendo); il bottone che consente di annullare le ultime modifiche fatte sulla cella attiva (equivalente all'uso del tasto ESC); il bottone che consente di confermare i dati immessi o modificati (equivalente all'uso del tasto INVIO); il bottone per la modifica guidata delle formule; la zona per il valore contenuto in tale cella nel piano dei legami: è in questa zona del foglio elettronico che spesso vengono introdotti e modificati i valori delle diverse celle.
La zona delle cartelle di lavoro contiene i seguenti elementi per ogni cartella:
- La prima riga contiene la barra del titolo della finestra figlia (child) relativa alla cartella (visibile solo se non massimizzata);
- L’ultima riga contiene le “linguette” per la scelta del foglio di lavoro corrente ed i pulsanti per muoversi nello spazio delle linguette;
- Una intestazione per ogni colonna (che consente di selezionare la colonna) nel foglio corrente;
- Una intestazione per ogni riga (che consente di selezionare la riga) nel foglio corrente;
- Un bottone per selezionare l'intero foglio corrente;
- Una zona tabellare, relativa al foglio corrente, che occupa il resto della finestra associata alla cartella. Essa è la matrice utilizzata per le elaborazioni di Foglio Elettronico. La zona tabellare conterrà i dati (etichette e numeri) e le formule e visualizzerà i risultati delle varie operazioni richieste. Di tale zona viene visualizzata una finestra video di un certo numero di righe (indici di tipo numerico) e di un certo numero di colonne (indici alfabetici) di celle di dimensione standard (modificabile). Chiameremo tale zona foglio di lavoro. Il contenuto di ogni cella del foglio di lavoro può essere: una etichetta (cioè una stringa alfanumerica) oppure un valore che può essere a sua volta un numero oppure una formula (cioè una espressione aritmetica il cui valore è un numero o una etichetta); nella categoria dei numeri si annoverano anche le date, gli importi, ecc.;
- Se abilitate sono poi presenti le barre di scorrimento (orizzontali e verticali).
- 4. MODALITA' DI LAVORO SUL FOGLIO ELETTRONICO.
- Excel esegue una analisi della riga introdotta o modificata in una cella per stabilire se si tratta di un valore e di che tipo (numero semplice, data, formula, ecc.) oppure di una etichetta. Si osservi che un dato viene considerato come formula se viene fatto iniziare con =. Volendo inserire un valore (numero, formula) come etichetta occorre digitare come primo carattere il prefisso di etichetta " ' ".
- 5. ESEMPI.
- ESEMPIO1: Fare la somma di due numeri contenuti nelle celle A1 ed A2 e portare il risultato nella cella A3 [rilevare l'esistenza dei due fogli: quello interno e quello esterno].
- ESEMPIO2: bilancio familiare. Per tale esempio occorrono le seguenti formule: + per la somma; - per la sottrazione; * per la moltiplicazione; / per la divisione; =arrotonda(valore; cifre decimali) per arrotondare il valore al numero di cifre decimali specificato; =somma(lista valori) per sommare una lista di valori: lista valori è una porzione rettangolare del foglio elettronico: di solito una porzione di una riga o di una colonna.
- Lo svolgimento dell'esempio dovrebbe chiarire molto bene i concetti di indirizzamento assoluto ($) e di indirizzamento relativo: infatti le formula delle colonne C e D vanno ottenute dalla colonna B tramite copia (Home | Appunti | Copia – Home | Appunti | Incolla); inoltre occorre introdurre la spesa fissa ed i relativi indirizzi assoluti in un secondo tempo (cioè dopo avere mostrato l’intero bilancio per tre mesi senza spesa fissa).
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
||||
|
|
|
- Il foglio completo apparirà in EXCEL come mostrato di seguito (dove sono stati evidenziati i risultati anziché le formule):
- BILANCIO FAMILIARE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 6. OPERAZIONI CON I TASTI FUNZIONE.
- Il tasto funzione <F1> mi permette di richiamare guida di help di EXCEL.
- Per modificare un dato inserito in modo errato in tabella usare il tasto funzione <F2> ed impostare il nuovo contenuto.
- Il Tasto funzione <F4> cambia ciclicamente il tipo di indirizzo di cella secondo la sequenza: relativo -> assoluto -> riga assoluta -> colonna assoluta.
- Per “saltare” ad una determinata cella usare il tasto funzione <F5>: digitare <F5> e l'indirizzo del tipo “indice di colonna indice di riga”; comunque relativamente agli spostamenti nella finestra attualmente visualizzata (e dunque sulle brevi distanze) è consigliabile l'uso delle freccette o del mouse;
- Il Tasto funzione <F9> in modalità “Pronto” ricalcola tutte le formule: è utile quando è disabilitato il ricalcolo automatico. In modalità “Modifica” converte una formula nel suo valore.
7. I COMANDI DEL MENU' (NASTRO – RIBBON).
Tramite EXCEL si possono utilizzare comandi di utilità di vario tipo che si possono richiamare e rendere attivi tramite menù (nastro – ribbon). Arrivati all'ultimo livello di scelta possono essere richieste (in dipendenza del comando) ulteriori informazioni all'interno di opportune finestre di dialogo oppure all’interno di opportuni controlli (di solito elenchi a discesa). Fornite le eventuali risposte richieste, il comando viene eseguito.
7.1 Elenco di alcuni comandi con il relativo uso.
Premessa: Per spostarsi sulle celle del foglio elettronico è possibile usare sia il mouse che la tastiera. L'uso del mouse segue tutte le convenzioni usuali di Windows. L'uso della tastiera è di solito intuitivo (ad es. le freccette spostano nelle 4 direzioni, i tasti PagUp e PagDn spostano in su ed in giù di una pagina, ecc.).
7.1.1 I comandi copia e incolla.
Premessa: Una zona in Excel è una porzione rettangolare del foglio che si individua come segue: CELLA_ALTO_SX:CELLA_BASSO_DX.
Per copiare dati in Excel si può usare la seguente procedura:
- Selezionare la zona da copiare facendo una operazione di drag con il mouse (o selezionare la cella da copiare con un click sulla medesima);
- Scegliere il comando Home | Appunti | Copia;
- Selezionare, sempre con una operazione di drag del mouse, la zona in cui copiare;
- Selezionare il comando Home | Appunti | Incolla;
- Premere il tasto <ESC> per terminare l'operazione;
- Deselezionare l'area eventualmente selezionata.
L’incollatura della operazione di copia (normale – poi è possibile scegliere di incollare in maniera particolare) agisce in maniera diversa a seconda del contenuto delle celle: i dati (etichette e numeri) vengono copiati così come sono mentre le formule vengono copiate seguendo i criteri di indirizzamento assoluto/relativo che sono stati visti più sopra con l’esempio del bilancio familiare.
- E' possibile spostare anziché duplicare una zona con la seguente procedura:
- Selezionare la zona da spostare facendo una operazione di drag con il mouse (o selezionare la cella da spostare con un click sulla medesima);
- Scegliere il comando Home | Appunti | Taglia;
- Selezionare, sempre con una operazione di drag del mouse, la zona in cui spostare;
- Selezionare il comando Home | Appunti | Incolla;
- Deselezionare l'area eventualmente selezionata.
- NB Esistono altri modi di ottenere le funzionalità qui e altrove esplicate, sia con il mouse che con la tastiera, ma non le vedremo, lasciandole al libero uso. Ricordiamo solo la possibilità di trascinare il “quadratino” in basso a destra per operazioni di copia “intelligenti” e la possibilità di trascinare il bordo di una selezione per operazioni di spostamento.
- 7.1.2 Memorizzazione di una cartella di lavoro su Disco.
- 1. Se voglio salvare la cartella di lavoro in un file nuovo occorre dare il comando File | Salva con nome. Dopo avere dato questo comando si accede alla dialog box Salva con nome che consente, principalmente, di specificare il nome del file, il direttorio ed il formato in cui salvare.
- 2. Se voglio salvare la cartella di lavoro nel file corrente (quello menzionato nella barra del titolo) è sufficiente impartire il comando File | Salva oppure usare il pulsante del dischetto sulla barra del titolo.
- 7.1.3 Caricamento di una cartella di lavoro dal Disco.
- Per caricare cartella di lavoro da file occorre dare il comando File | Apri. Compare la dialog box Apri che consente, principalmente, di scegliere il nome del file, il direttorio ed il tipo di file della cartella di lavoro che si vuole caricare.
- 7.1.4 Cancellazione del contenuto di una o più celle.
- Per cancellare il contenuto di una o più celle occorre:
- Selezionare la cella il cui contenuto è da cancellare con un click del mouse o selezionare la zona di cui si vogliono svuotare le celle con un drag del mouse;
- Richiamare il comando Home | Modifica | Cancella.
- Nel sottomenù a discesa associato: selezionare il tipo di cancellazione (di solito Formati o Tutto) e confermare con un click del mouse.
- Per cancellare l'intera cartella ed usarne una nuova vuota la procedura consigliata è la seguente:
- Richiamare il comando File | Chiudi;
- Richiamare il comando File | Nuovo e poi scegliere Cartella vuota nella successiva finestra di dialogo;
- NB In condizioni normali, ogni volta che si apre una diversa cartella di lavoro si consiglia prima di chiudere quella con cui si sta lavorando (con il comando File | Chiudi).
- 7.1.5 Modifica della larghezza di colonna e dell’altezza di riga.
- 1. Per modificare la larghezza della colonna usare la seguente procedura:
- Selezionare la/le colonna/e di interesse usando il mouse: si possono selezionare intere colonne con gli appositi bottoni o solo alcune celle (che però sono rappresentative in questo caso delle colonne a cui appartengono). Per selezionare un solo oggetto si userà il click del mouse, per selezionare un intervallo si eseguirà una operazione di drag;
- Scegliere il comando Home | Celle | Formato | Dimensione celle | Larghezza colonne;
- Compare la dialog box Larghezza colonne: scegliere la nuova dimensione e confermare.
- 2. Per modificare l'altezza della riga usare la seguente procedura:
- Selezionare la/le riga/e di interesse usando il mouse: si possono selezionare intere righe con gli appositi bottoni o solo alcune celle (che però sono rappresentative in questo caso delle righe a cui appartengono). Per selezionare un solo oggetto si userà il click del mouse, per selezionare un intervallo si eseguirà una operazione di drag;
- Scegliere il comando Home | Celle | Formato | Dimensione celle | Altezza righe;
- Compare la dialog box Altezza riga: scegliere la nuova dimensione e confermare.
- 7.1.6 Inserimento di righe e colonne.
- 1. Per inserire una riga usare la seguente procedura:
- Selezionare una cella sopra cui si vuole inserire la riga (con un click del mouse);
- Scegliere il comando Home | Celle | Inserisci | Inserisci righe di foglio;
- Viene creata una nuova riga vuota sopra la cella attiva e gli indirizzi del foglio vengono riadattati.
- 2. Per inserire una colonna usare la seguente procedura:
- Selezionare una cella a sinistra della quale si vuole inserire la colonna (con un click del mouse);
- Scegliere il comando Home | Celle | Inserisci | Inserisci colonne di foglio;
- Viene creata una nuova colonna vuota a sinistra della cella attiva e gli indirizzi del foglio vengono riadattati.
- 7.1.7 Eliminazione di righe e colonne.
- Posizionarsi sulla riga o sulla colonna da eliminare;
- Scegliere il comando Home | Celle | Elimina | Elimina righe di foglio oppure Home | Celle | Elimina | Elimina colonne di foglio;
- E’ anche possibile cancellare solamente le celle selezionate (comando Home | Celle | Elimina | Elimina celle); nella successiva finestra di dialogo viene chiesto di spostare le altre celle come indicato da una delle opzioni della finestra di dialogo stessa;
- Le righe, colonne o celle su cui si era posizionati vengono eliminate e tutte le formule del foglio vengono adattate di conseguenza.
- 7.1.8 Stampa dei dati nella cartella di lavoro.
- Vediamo una versione minimale che poi eventualmente arricchiremo:
- Selezionare, con una operazione di drag del mouse, l'area del foglio che si vuole stampare.
- Selezionare il menù Layout di pagina | Impostazioni di pagina | Area di stampa | Imposta area di stampa.
- Si tenga presente che se l'area è troppo grossa (per il tipo di foglio su cui si stampa) Excel eseguirà automaticamente degli adattamenti: divisione in pagine e stampa delle colonne eccedenti in coda.
- Compariranno dei tratteggi sul foglio che indicano l'area selezionata per la stampa.
- Selezionare il menù File | Stampa.
- Nella barra di stampa (l’area che compare a destra dell’opzione di stampa) occorre scegliere tipicamente quanto segue (il resto va lasciato inalterato): Numero di copie; Stampa fogli attivi.
- E’ poi possibile confermare la stampa premendo il bottone Stampa.
- NB Prima di stampare conviene (se si desidera) abilitare o disabilitare la stampa della griglia delle celle del foglio e le intestazioni. Questo si può fare attraverso i menù Layout di pagina | Opzioni del foglio | Griglie | Stampa e Layout di pagina | Opzioni del foglio | Intestazioni | Stampa.
- Prima di richiamare il comando di stampa (dopo avere eventualmente selezionato l’area di stampa) è possibile vedere una anteprima di stampa sulla destra. Nella barra di stampa (l’area subito a destra dell’opzione di stampa nel menù File) è possibile vedere e modificare i parametri di stampa. I parametri più comuni sono riassunti in un elenco subito visibile. Per avere sotto controllo tutte le opzioni di stampa occorre fare comparire la finestra di dialogo Impostazioni di pagina facendo click sul link Impostazioni di pagina. In tale finestra di dialogo compaiono 4 linguette con le seguenti opzioni principali:
- Linguetta Pagina: orientamento del foglio, proporzioni, dimensioni e tipo del foglio, qualità di stampa, bottone per accedere alle opzioni di stampa caratteristiche della particolare stampante.
- Linguetta Margini: margini superiore, inferiore, sinistro e destro, scelta della distanza dal bordo di intestazione e piè di pagina, centratura dei dati nella pagina.
- Linguetta Intestaz. / Piè di pag.: scelta dell’intestazione con bottone di personalizzazione, scelta del piè pagina con bottone di personalizzazione.
- Linguetta Foglio: scelta dell’area di stampa, indicazione delle righe da ripetere in alto (ad ogni pagina), indicazione delle colonne da ripetere a sinistra (di ogni pagina), caratteristiche di stampa (griglia, stampa in qualità bozza, stampa in bianco e nero, stampa delle intestazioni di riga e colonna), ordine di pagina (priorità orizzontale o verticale), e altro ancora. Si noti che per potere modificare area di stampa e righe e colonne da ripetere occorre aprire la finestra di dialogo Impostazioni di pagina usando il comando Layout di pagina | Impostazioni di pagina e scegliere la freccina in basso a destra.
- NB Per stampare le formule anziché i risultati il procedimento è identico a quello illustrato in precedenza ma occorre preventivamente selezionare il menù File | Opzioni | Avanzate | Opzioni di visualizzazione per questo foglio ed abilitare il Check box Mostra formule nelle celle invece dei valori calcolati. Sarà magari necessario riadattare la dimensione delle celle perché si possa stampare tutta la formula: ideale, al riguardo, l’uso del comando Home | Celle | Formato | Dimensione celle | Adatta larghezza colonne dopo avere scelto le colonne che andranno stampate. Al termine della stampa converrà ripristinare la situazione (Check box Mostra formule… disabilitato e celle alla dimensione originale).
- La stampa di formule lunghe è comunque problematica: in questo caso conviene selezionare le formule di interesse, usare il menù Home | Appunti | Copia per trasferirle nella clipboard (appunti) ed usare uno strumento (come Word, Write, WordPad) per importare le formule dalla clipboard (attraverso i comandi Incolla mentre è ancora attiva la selezione in Excel) e per poi stamparle (magari arricchite degli indirizzi delle celle in cui si trovavano le formule e di commenti ad-hoc).
- 7.1.9 Uscita da Excel.
- Per uscire da Excel dare il comando File | Esci. Se la cartella di lavoro è stata modificata dall'ultima operazione di salvataggio la macchina mostra un Message Box chiedendo se si vogliono salvare le modifiche: rispondendo "Si" si salvano le modifiche sul file associato alla cartella e si esce da Excel; rispondendo "No" non si salvano le modifiche sul file associato al foglio e si esce da Excel; rispondendo "Annulla" non si salvano le modifiche sul file associato al foglio ma si rimane in Excel.
- 7.1.10 Breve descrizione di altri comandi utili.
- Segue un elenco di altri comandi utili descritti in forma riassuntiva:
- Home | Celle | Elimina | Elimina Foglio: elimina i fogli selezionati (per selezionare fogli si possono usare anche le combinazioni SHIFT+CLICK e CTRL+CLICK).
- Home | Celle | Formato | Organizza fogli | Sposta o copia foglio: per spostare o copiare un foglio all’interno della stessa cartella di lavoro.
- Home | Modifica | Trova e seleziona | Trova: per cercare dati o formule nel foglio.
- Home | Modifica | Trova e seleziona | Sostituisci: per cambiare dati o formule nel foglio.
- Home | Modifica | Trova e seleziona | Vai a: per saltare ad una zona, dando il nome o l’indirizzo della zona.
- Visualizza | Zoom | Zoom: consente di vedere la cartella di lavoro ad un dato livello di zoom (per default 100%).
- Home | Celle | Inserisci | Inserisci celle: per inserire celle singole e non solo intere righe o colonne.
- Home | Celle | Inserisci | Foglio di lavoro: per inserire un intero foglio di lavoro (prima di quello corrente).
- Formule | Inserisci funzione: per inserire funzioni in autocomposizione (vedi sotto).
- Formule | Nomi definiti | Crea nome | Crea nome: per definire nomi di zona.
- Home | Celle | Formato | Formato Celle (oppure Home e poi scegliere una delle “freccette di espansione” in fondo ai gruppi Carattere, Allineamento o Numero): per definire il formato celle. La relativa finestra di dialogo ha linguette per definire i seguenti aspetti di formato: numero (scegliere uno dei formati predefiniti: generale, numero, valuta, contabilità, testo, data, ora, ... oppure definire un formato personalizzato); allineamento (scegliere le caratteristiche di allineamento orizzontale, verticale e di orientamento del testo; è anche possibile disporre testo su più righe con l’opzione “testo a capo” e unire le celle selezionate con l’opzione “unione celle”); carattere (per scegliere il font e le relative caratteristiche); bordo (per creare effetti di bordatura attorno a celle o gruppi di celle selezionati); motivo (per scegliere un motivo o un colore per la cella o per il gruppo di celle selezionato); protezione (che consente di proteggere le celle di un foglio/cartella protetto: vedi più sotto).
- Home | Celle | Formato | Organizza fogli | Rinomina foglio: per cambiare nome al foglio corrente.
- Home | Stile | Stile delle celle: consente di selezionare o aggiungere stili (insiemi di formati).
- Revisioni | Controllo | Ortografia: consente di eseguire il controllo ortografico sulle parole inserite nei fogli Excel.
- Formule | Controllo: fornisce le voci per l’individuazione grafica delle relazioni tra la cella attiva e le altre celle: individua precedenti (individua le celle con valori che influenzano quello della cella attiva); individua dipendenti (individua le celle con formule che dipendono dalla cella attiva); rimuovi tutte le frecce (rimuove tutte le visualizzazioni grafiche di controllo create fin qui).
- Revisioni | Modifiche | Proteggi foglio e Revisioni | Modifiche | Proteggi cartella: consentono di abilitare la protezione per i singoli fogli di lavoro e/o per la cartella di lavoro; la protezione, con o senza password consente di impedire la modifica alle celle o agli oggetti che hanno abilitata la proprietà di formato bloccata (vedi sopra).
- File | Opzioni | Componenti aggiuntivi: consente di abilitare/disabilitare le aggiunte (file xla, ecc.) che apportano nuove funzionalità all’interno di Excel; sono aggiunte ad esempio il risolutore, il salvataggio automatico, ecc.
- File | Opzioni: consente di visualizzare e/o modificare le opzioni di Excel attraverso una finestra di dialogo in cui compaiono a sinistra le voci di raggruppamento delle opzioni.
- Vista | Finestra: questo gruppo consente di gestire le finestre di Excel; in particolare si può dividere un foglio in riquadri “indipendenti” per consentire ad esempio di mantenere visualizzate righe o colonne di intestazione. Si usa in tal caso il comando Vista | Finestra | Dividi (e di nuovo Vista | Finestra | Dividi per eliminare tale divisione); la divisione avviene in corrispondenza della cella attiva. Il comando Vista | Finestra | Blocca riquadri consente di rendere la divisione in riquadri non modificabile con il mouse.
- Help (?): fornisce l’help in linea dell’applicativo Excel.
- File | Salva come consente anche di salvare la cartella o il singolo foglio come file HTML.
- File | Condividi | Invia usando la posta elettronica: consente l’invio della cartella corrente come messaggio di posta elettronica.
- Layout di pagina | Impostazioni di pagina | Interruzione di pagina | Inserisci interruzione di pagina e Layout di pagina | Impostazioni di pagina | Interruzione di pagina | Rimuovi interruzione di pagina: consentono rispettivamente di inserire e rimuovere interruzioni di pagina in corrispondenza della riga selezionata.
- Inserisci | Testo | Oggetto: consente di inserire oggetti (immagini, suoni, animazioni, ecc.) all’interno del foglio elettronico.
- Inserisci | Immagini | Immagine: consente di inserire una immagine dando il pathname del file che la contiene.
- Inserisci | Riferimenti | Collegamento ipertestuale: consente di creare e poi modificare un link ipertestuale che faccia riferimento ad una pagina internet avendo come punto di partenza, di solito, da una stringa memorizzata in una cella Excel (ma il punto di partenza del link potrebbe essere un qualunque oggetto).
- Revisioni | Modifiche | Condividi aree di lavoro: consente di rendere condivisibile una cartella di lavoro in modo che sia possibile apportarvi modifiche concorrenti da parte di diversi utenti. In caso di conflitto di modifiche verranno proposte (di solito all’atto del salvataggio) opportune azioni correttive di facile comprensione. Quando è abilitata la condivisione sono stabilite delle restrizioni sulla cartella di lavoro. Una cartella condivisa dovrebbe essere accessibile tramite una connessione di rete.
- Dati | Strumenti sui dati | Convalida | Convalida: consente di impostare (in maniera intuitiva) i criteri di validità dei dati inseriti in una data cella (o in tutte le celle di una data zona). Se i dati non corrispondono ai criteri di validità viene fornito un messaggio di errore.
NB Per sapere l’elenco dei comandi nella nuova versione di Excel corrispondenti ai comandi delle precedenti versioni (Office 2003) cercare “menù in excel 2003” nella guida di Help di Excel 2010.
- 8. PRINCIPALI FUNZIONI EXCEL.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VAL.FUT(tasso_int; periodi; pagam; val_attuale; tipo) |
|
|
Restituisce il valore futuro di un investimento. Il valore futuro è la cifra totale che rappresenta il valore al termine di una serie di pagamenti futuri. In questo contesto: tasso_int è il tasso di capitalizzazione; periodi è il numero di rate da pagare in futuro; pagam è il valore della rata costante (deve essere negativo per generare risultati positivi); val_attuale è il valore iniziale che conviene sia sempre 0; tipo indica rate posticipate se pari a 0 e anticipate se pari a 1. |
9. I GRAFICI IN EXCEL.
I grafici in EXCEL sono oggetti molto sofisticati che hanno tante opzioni. Risulta perciò problematico farne una trattazione esaustiva. Per orientarci seguiremo i passi necessari alla creazione di un grafico facendo riferimento a due esempi: uno per grafici in 2 dimensioni ed uno per grafici in 3 dimensioni.
9.1 Esempio 1.
Si carichino nella zona A1:A20 i valori da -9 a 10 con passo 1. Si carichino nella zona B1:B20 le formule necessarie per costruire la funzione x^2-5x+2 dove x sono i valori della zona A1:A20.
Per creare un grafico significativo per l'esempio proposto i passi sono i seguenti:
- Opzionalmente selezionare, con un drag del mouse, la zona dei dati in base a cui costruire il grafico. Questa operazione non è obbligatoria ma le successive operazioni verranno facilitate. Selezionare la zona A1:B20.
- Dare il comando Inserisci | Grafico e quindi selezionare il tipo di grafico oppure selezionare il bottoncino con la freccia in basso a destra del gruppo Grafico che consente l’accesso alla finestra di dialogo per la scelta del grafico. Nell'esempio scegliere un grafico di tipo Linee.
A questo punto compare un grafico sul foglio corrente. Quando il grafico è selezionato compare attivato il menù Disegno che consente di specificare quanto segue per il grafico corrente:
- Voce Dati | Scambia Righe / Colonne: consente di scambiare il ruolo delle righe con le colonne nelle serie di dati. Voce Dati | Seleziona dati: come intervallo va confermata la zona contenente i dati per il grafico che, nell'esempio, è la zona Foglio1!$A$1:$B$20; nella lista Serie, usando il bottone Elimina, eliminare la serie1 che nell’esempio non ha senso; sempre nella lista Serie usare il bottone Modifica per dare un nome (descrizione) significativo alla serie; nella lista Categorie usare il bottone Modifica per accedere alla finestra di dialogo in cui scrivere l’indirizzo della zona contenente i valori delle etichette per l’asse X (=Foglio1!$A$1:$A$20 nel nostro caso).
- Gruppo Layout del grafico: consente di scegliere in maniera intuitiva un layout per il grafico corrente che poi è possibile personalizzare. Nel nostro caso scegliere il Layout n. 10 (con titoli degli assi e titolo del grafico e legenda).
- Gruppo Stile del grafico: consente di scegliere in maniera intuitiva uno stile particolare per il grafico corrente. Nel nostro caso scegliere uno stile significativo.
- Voce Posizione | Sposta grafico: consente di scegliere se piazzare il grafico sul foglio corrente o in un foglio grafico appositamente creato con il nome specificato. Nel nostro caso scegliere “come oggetto in …”.
A questo punto, selezionando il grafico, è possibile eseguire una serie di operazioni tra cui:
1. Trascinare la finestra del grafico, con una operazione di drag del mouse (prendendola in corrispondenza dei bordi), per spostarlo a piacimento all'interno del foglio elettronico.
2. Trascinare (con una operazione di drag del mouse) i marker del grafico per ridimensionarlo. Per fare comparire i marker basta fare click sul grafico.
3. Fare click sul grafico per abilitare le opzioni che consentono di personalizzare il grafico e di cambiarlo. E’ possibile fare conto su un notevole numero di opzioni di personalizzazione che risulta impossibile riassumere in breve. Ci limitiamo a citare qui quanto segue:
3.1. La possibilità di selezionare diversi elementi del grafico con un click del mouse e quindi, usando il pulsante destro richiamare l’opzione di Formato relativa per accedere ad una finestra di dialogo (di solito con linguette) che consente di personalizzare il formato del particolare oggetto selezionato. Esempi di oggetti che si possono significativamente selezionare sono:
3.1.1. Il grafico (di una serie).
3.1.2. L’asse X: sono particolarmente importanti le opzioni della voce Opzioni dell’asse: nel nostro esempio, conviene specificare che i valori dell’asse vanno in corrispondenza dei segni di graduazione; conviene altresì abilitare i segni di graduazione principali, disabilitare quelli secondari e porre le etichette di graduazione in basso. Ancora, può convenire cambiare il tipo di carattere/numero e l’allineamento nelle restanti voci. Facendo click con il destro compare anche il controllo per modificare il tipo di Font.
3.1.3. L’asse Y. Facendo click con il destro compare anche il controllo per modificare il tipo di Font. Nelle Opzioni dell’asse si può scegliere in maniera intuitiva la scala.
3.1.4. Il titolo del grafico e degli assi (le stringhe relative si modificano in place). Facendo click con il destro compare anche il controllo per modificare il tipo di Font.
3.2. La possibilità selezionare l’intera area del grafico (solo l’area vera e propria o quella più allargata contenente titoli e legende): qui è possibile selezionare, sempre con il pulsante destro del mouse l’opzione che consente di cambiare il Tipo di Grafico (ed il sottotipo).
3.3. La possibilità, sempre con il pulsante destro, quando è selezionato un asse, di accedere a funzionalità che consentono ad esempio l’inserimento o l’eliminazione di griglie o altri elementi.
3.4. La possibilità, selezionando la serie dei dati e facendo click con il pulsante destro, di accedere alla voce Seleziona dati di origine che consente di modificare i dati della serie (comprese le etichette dell’asse X ed il nome della serie).
3.5. La possibilità di terminare la sessione di editing del grafico facendo un click fuori dall’area del grafico.
4. Salvare il grafico: il grafico si salva salvando la cartella di lavoro. In altre parole il salvataggio della cartella di lavoro memorizza anche i grafici presenti all'istante del salvataggio.
9.2 Esempio 2.
Nella zona A1:K11 si scriva in maniera opportuna la tabellina per i numeri da 1 a 10. La prima riga e la prima colonna sono intestazioni che contengono i numeri da 1 a 10. In ogni altra cella è presente il prodotto tra l'intestazione di riga e l'intestazione di colonna.
Per creare un grafico significativo per l'esempio proposto i passi sono i seguenti:
- Opzionalmente selezionare, con un drag del mouse, la zona dei dati in base a cui costruire il grafico. Questa operazione non è obbligatoria ma le successive operazioni verranno facilitate. Selezionare la zona A1:K11.
- Dare il comando Inserisci | Grafico e quindi selezionare il tipo di grafico oppure selezionare il bottoncino con la freccia in basso a destra del gruppo Grafico che consente l’accesso alla finestra di dialogo per la scelta del grafico. Nell'esempio scegliere un grafico di tipo Colonne 3-D.
A questo punto compare un grafico sul foglio corrente. Quando il grafico è selezionato compare attivato il menù Disegno che consente di specificare quanto segue per il grafico corrente:
- Voce Dati | Scambia Righe / Colonne: consente di scambiare il ruolo delle righe con le colonne nelle serie di dati. Voce Dati | Seleziona origine dati: come intervallo va confermata la zona contenente i dati per il grafico che, nell'esempio, è la zona Foglio1!$A$1:$K$11; per il resto nel nostro caso lasciare i valori già impostati: si osservi che il nome di ciascuna serie è presa dalle intestazioni di riga, la parte restante della riga è assunta come serie, mentre le intestazioni di colonna vengono utilizzate come valori dell’asse X.
- Gruppo Layout del grafico: consente di scegliere in maniera intuitiva un layout per il grafico corrente che poi è possibile personalizzare. Nel nostro caso scegliere il Layout n. 9 (con titoli degli assi e titolo del grafico e legenda).
- Gruppo Stile del grafico: consente di scegliere in maniera intuitiva uno stile particolare per il grafico corrente. Nel nostro caso scegliere uno stile significativo.
- Voce Posizione | Sposta grafico: consente di scegliere se piazzare il grafico sul foglio corrente o in un foglio grafico appositamente creato con il nome specificato. Nel nostro caso scegliere “come oggetto in …”.
A questo punto, selezionando il grafico, è possibile eseguire una serie di operazioni tra cui:
1. Trascinare la finestra del grafico, con una operazione di drag del mouse (prendendola in corrispondenza dei bordi), per spostarlo a piacimento all'interno del foglio elettronico.
2. Trascinare (con una operazione di drag del mouse) i marker del grafico per ridimensionarlo. Per fare comparire i marker basta fare click sul grafico.
3. Fare click sul grafico per abilitare le opzioni che consentono di personalizzare il grafico e di cambiarlo. E’ possibile fare conto su un notevole numero di opzioni di personalizzazione che risulta impossibile riassumere in breve. Ci limitiamo a citare qui quanto segue:
3.1. La possibilità di selezionare diversi elementi del grafico con un click del mouse e quindi, usando il pulsante destro richiamare l’opzione di Formato relativa per accedere ad una finestra di dialogo (di solito con linguette) che consente di personalizzare il formato del particolare oggetto selezionato. Esempi di oggetti che si possono significativamente selezionare sono:
3.1.1. Il grafico (di una serie).
3.1.2. L’asse X: sono particolarmente importanti le opzioni della voce Opzioni dell’asse: nel nostro esempio, conviene abilitare i segni di graduazione principali, disabilitare quelli secondari e porre le etichette di graduazione in basso; se viene scelto il tipo di grafico numero 8 al punto 4 di cui sopra è anche possibile specificare a 1 il valore “specifica l’unità di intervallo”. Ancora, può convenire cambiare il tipo di carattere/numero e l’allineamento nelle restanti voci. Facendo click con il destro compare anche il controllo per modificare il tipo di Font.
3.1.2. L’asse Y: compare solo con alcuni layout e tipi di grafico (ad esempio grafico tipo “superficie” con layout n. 1). In questo caso sono particolarmente importanti le opzioni della voce Opzioni dell’asse: nel nostro esempio, conviene abilitare i segni di graduazione principali, disabilitare quelli secondari e porre le etichette di graduazione in basso. Ancora, può convenire cambiare il tipo di carattere/numero e l’allineamento nelle restanti voci. Facendo click con il destro compare anche il controllo per modificare il tipo di Font.
3.1.3. L’asse Z: sono particolarmente importanti le opzioni della voce Opzioni dell’asse: nel nostro esempio, conviene controllare le opzioni per la scala relativa all’asse (valore massimo, valore minimo, …). Ancora, può convenire cambiare il tipo di carattere/numero e l’allineamento nelle restanti voci. Facendo click con il destro compare anche il controllo per modificare il tipo di Font.
3.1.4. La legenda (che in questo caso contiene colore ed etichette dell’asse Y). Facendo click con il destro compare anche il controllo per modificare il tipo di Font.
3.1.5. Il titolo del grafico e degli assi (le stringhe relative si modificano in place). Facendo click con il destro compare anche il controllo per modificare il tipo di Font. E’ possibile inserire nuove etichette (formattabili poi usando il tasto destro del mouse) inserendo una casella di testo con il comando Inserisci | Testo | Casella di testo.
3.1.6. L’asse Y: quest’asse (delle profondità) compare anche se si sceglie il tipo di grafico a barre 3D (numero 8) al punto 4 qui sopra (Layout del grafico). In questo caso sono particolarmente importanti le opzioni della voce Opzioni dell’asse: nel nostro esempio, conviene specificare a 1 il valore “specifica l’unità di intervallo”. Ancora, può convenire cambiare il tipo di carattere/numero e l’allineamento nelle restanti voci. Facendo click con il destro compare anche il controllo per modificare il tipo di Font.
3.2. La possibilità selezionare l’intera area del grafico (solo l’area vera e propria o quella più allargata contenente titoli e legende): qui è possibile selezionare, sempre con il pulsante destro del mouse l’opzione che consente di cambiare il Tipo di Grafico (ed il sottotipo).
3.3. La possibilità, sempre con il pulsante destro, quando è selezionata un asse, di accedere a funzionalità che consentono ad esempio l’inserimento o l’eliminazione di griglie o altri elementi.
3.4. La possibilità, selezionando la serie dei dati e facendo click con il pulsante destro, di accedere alla voce Seleziona dati che consente di modificare i dati della serie (comprese le etichette dell’asse X ed il nome della serie). Qui è anche possibile scegliere la voce Formato delle serie di dati e nella linguetta Opzioni delle serie impostare un opportuno gap tra i singoli elementi della serie in orizzontale e verticale.
3.5. La possibilità, sempre con il pulsante destro, quando è selezionata l’area del grafico, di modificare la Visualizzazione 3D (rotazione 3D) (rotazione, prospettiva, ecc.) attraverso la corrispondente voce del menù di scelta rapida (linguetta Rotazione 3D).
3.6. La possibilità di terminare la sessione di editing del grafico facendo un click fuori dall’area del grafico.
4. Salvare il grafico: il grafico si salva salvando la cartella di lavoro. In altre parole il salvataggio della cartella di lavoro memorizza anche i grafici presenti all'istante del salvataggio.
10. LA FUNZIONE DATABASE DI EXCEL (MENU’ DATI).
La funzionalità database è quella che consente di lavorare in EXCEL con archivi di dati (tabelle). Su tali archivi sono possibili, oltre alle manipolazioni dirette (inserimenti, variazioni, stampe) anche operazioni sofisticate di ricerca ed ordinamento.
10.1 Le operazioni di filtro dei dati.
Distinguiamo le operazioni di filtro automatico da quelle di filtro avanzato. Cominciamo la nostra analisi da queste ultime.
10.1.1 Le operazioni di filtro avanzato.
Illustriamo questa funzionalità attraverso un esempio sufficientemente generale da consentirci di capire la struttura complessiva.
Esempio: Predisponiamo un archivio con 3 campi che chiamiamo rispettivamente CA, CB, CC. Il campo CA conterrà una anagrafica, il campo CB un numero (possiamo pensare che sia l'importo a debito di un cliente) ed il campo CC conterrà un tipo (possiamo immaginare che sia il tipo del cliente).
Mettiamo queste informazioni nelle prime tre colonne del foglio elettronico: la prima riga dovrà sempre contenere i nomi di campo. Avremo dunque la seguente situazione nelle prime tre colonne (A, B, C) del foglio elettronico:
1 CA CB CC
2 aaaaa 150 ta
3 abaaa 219 tb
4 acaaa 230 tc
5 aaaaa 70 ta
6 aaaaa 280 tb
7 abcde 12 ta
8 ttttaaa 33 ta
9 tttt 66 tc
10 tttt 89 tc
In generale la zona contenente i dati in formato tabulare prende il nome di zona database (o zona elenco).
Poiché il nostro scopo sarà quello di fare delle ricerche, occorre che indichiamo da qualche parte i nomi di campo in base a cui effettuare tali ricerche. La zona in cui indico le "ricerche" da eseguire prende il nome di zona criteri e deve essere strutturata come segue:
- prima riga: deve contenere gli stessi nomi di campo della zona database. Non si deve necessariamente includere tutti i campi della zona database, ed il loro ordine può essere mutato.
- seconda riga (in generale righe successive): devono contenere le condizioni di selezione (vedi più avanti le condizioni poste). Si osservi che condizioni sulla stessa riga sono considerate combinate con l’operatore logico AND, mentre condizioni su righe diverse si considerano combinate con l’operatore logico OR.
- Nell’esempio useremo come zona condizione le colonne D, E ed F che appariranno come segue:
- CA CC
- <cond>---<cond>---<cond>---
- Dove al posto delle scritte <cond> andranno messe le condizioni che vedremo più oltre. Si osservi poi che la colonna F (l’ultima) non contiene in prima riga un nome di campo perché serve per impostare un altro tipo di condizioni di ricerca che vedremo più avanti.
- Serve a questo punto una zona dove emettere quei record che soddisfano alle condizioni date e che rappresentano l'obiettivo della nostra ricerca. Questa zona prende usualmente il nome di zona di estrazione e può contenere nella prima riga i nomi dei campi che si vogliono selezionare per l'emissione (non è necessario che siano tutti quelli della zona database e nemmeno che siano nello stesso ordine).
- Dedichiamo a tale zona le colonne G, H, I che appariranno come segue:
- CA CB CC
- <emiss>--<emiss>--<emiss>--
- <emiss>--<emiss>--<emiss>--
- .........................
- dove al posto delle scritte <emiss> saranno presentati gli esiti delle varie ricerche.
- A questo punto, dopo avere selezionato la zona database e una volta impostate le condizioni, per reperire i dati che soddisfano alle condizioni e portarli nella zona di estrazione occorre dare il comando:
- Dati | Ordinamento e filtro | Avanzato
- A questo punto compare una dialog box all'interno della quale è possibile specificare quanto segue:
- Copia in un’altra posizione in Azione; [è anche possibile filtrare i dati sul posto: in tal caso verranno nascoste le righe che non soddisfano ai criteri (in tal caso il comando Dati | Ordinamento e filtro | Pulisci consente di ripristinare la visualizzazione completa dei dati)];
- La zona database nella casella Intervallo elenco;
- La zona criteri nella casella Intervallo criteri;
- La zona emissione nella casella Copia in (basta indicare la prima cella in alto a sinistra ma in questo caso la zona non verrà ripulita da eventuali valori residui);
- E’ possibile specificare che si vuole una copia unica dei record (in caso di possibili duplicati).
- Confermando con OK i record che rispondono ai criteri di selezione (vedi più avanti) vengono duplicati nella zona di estrazione.
Seguono ora alcuni esempi di possibili ricerche sulla nostra tabella. In tutti gli esempi si supporrà zona database A1:C10, zona criteri D1:F2 e zona estrazione G1:I10.
ESEMPIO1: Cerco tutti i record con CA="aaaaa". Per definire un corrispondenza "esatta", inserire il valore richiesto sotto il nome di campo relativo nella zona dei criteri nella seguente forma: ="=<Valore richiesto>".
Nel nostro caso porremo ="=aaaaa" nella cella D2 e daremo il comando Dati | Ordinamento e filtro | Avanzato.
ESEMPIO2: Cerco tutti i record in cui il campo CA contiene una stringa che inizia per "a". Per definire una corrispondenza "approssimata" posso usare il carattere jolly * che sostituisce qualsiasi etichetta. Il carattere jolly * è sempre sottinteso alla fine di una stringa scritta nella zona criteri salvo il caso mostrato nell'esempio precedente.
Nel nostro caso porremo 'a* o anche solo 'a nella cella D2 e daremo il comando Dati | Ordinamento e filtro | Avanzato.
ESEMPIO3: Cerco tutti i record in cui il campo CA contiene una stringa che inizia per "t" e della lunghezza di 4 caratteri. Per definire una corrispondenza "approssimata" posso usare il carattere jolly ? che sostituisce un singolo carattere qualsiasi.
Nel nostro caso porremo ="=t???" nella cella D2 e daremo il comando Dati | Ordinamento e filtro | Avanzato.
ESEMPIO4: Supponiamo di volere ricercare tutti i record che hanno nel campo CA una stringa di 4 caratteri che inizia con "t" e che hanno (contemporaneamente) "tc" nel campo CC. Nel nostro caso porremo ="=t???" nella cella D2 e ="=tc" nella cella E2 e daremo il comando Dati | Ordinamento e filtro | Avanzato.
ESEMPIO5: Supponiamo di volere tutti i record che hanno campo CA che inizia per "t" e che hanno campo CC che è formato da due caratteri di cui il secondo è una c (ed il primo una lettera qualsiasi). Nel nostro caso poniamo 't* o anche solo 't nella cella D2 e ="=?c" nella cella E2 e diamo il comando Dati | Ordinamento e filtro | Avanzato.
ESEMPIO6: Supponiamo di volere tutti i record che hanno campo CB con importo compreso tra 200 e 250 (estremi esclusi). In questo caso non possiamo esprimere direttamente la condizione poiché il campo CB non è contemplato nella zona dei criteri. Possiamo usare tuttavia la seguente procedura alternativa (valida, in particolare, per confrontare valori di uno o più campi): si può usare qualsiasi campo della zona database anche se non è inserito nella zona dei criteri; occorre costruire una espressione VERO/FALSO da inserire nella zona dei criteri in una colonna senza intestazione di campo (come la colonna F dell'esempio); occorre scrivere la formula come se fosse valida solo per il primo record (usare indirizzi relativi per valori nella zona database e indirizzi assoluti per valori fuori dalla zona database).
Nel nostro caso scriveremo nella cella F2 la formula: =(B2-200)*(B2-250)<0 oppure la formula =E(B2>=200;B2<=250) e daremo il comando Dati | Ordinamento e filtro | Avanzato.
10.1.2 Le operazioni di filtro automatico.
Le operazioni di filtro automatico consentono di filtrare le righe di un elenco (database) in base al valore di ciascun campo:
- Per creare un filtro automatico: selezionare l’elenco di dati (la prima riga contiene i nomi di campo); dare il comando Dati | Ordinamento e filtro | Filtro.
- Per eliminare l’opzione di filtro automatico: dare ancora il comando Dati | Ordinamento e filtro | Filtro.
- Per filtrare i dati: scegliere il valore desiderato in uno o più dei combo box associati ai nomi di campo per imporre la o le condizioni di filtro; a questo punto resteranno visualizzate solo le righe che soddisfano a tutti i criteri impostati. Si osservi che il comando Dati | Ordinamento e filtro | Pulisci consente, in questo caso, di ripristinare la visualizzazione di tutte le righe nascoste dai filtri attualmente in vigore. Si osservi anche che tra le voci del combo box di ciascun campo esistono, oltre a singoli valori della colonna, anche: tutto: per non imporre condizioni sul campo; Filtro | Numerico oppure Filtro | Testo: per potere esprimere una condizione complessa composta da massimo due espressioni logiche combinate con And o Or ciascuna facente uso degli operatori relazionali usuali (=, <>, >, <, >=, <=, …); Filtro Numerico | Primi 10 …: per mostrare i primi n (per default 10) elementi di un campo numerico secondo l’ordine crescente o decrescente.
10.2 La funzione di ordinamento.
Questa funzionalità consente di ordinare dei dati. Mostriamo anche questa funzionalità con un esempio.
Esempio: Si consideri un elenco di nomi e cognomi caricati rispettivamente nelle colonne B e A del foglio elettronico (a partire dalla riga 1). Nella colonna C si indichi la data di nascita. Si supponga che, nei particolari dati usati ci siano persone con lo stesso cognome. Ci poniamo il problema di ordinare questi dati per anagrafica (a parità di cognome l'ordinamento va fatto sul nome). Possiamo avere la seguente situazione:
A B C
dddd aaaa 22/07/73
eeee mmmm 23/07/75
eeee aaaa 24/01/66
aaaa zzzz 02/03/34
aaaa bbbb 03/04/72
aaaa aaaa 05/06/75
mmmm cccc 07/07/89
bbbb bbbb 03/03/82
In questo caso per ordinare i dati usiamo la seguente procedura:
- Si seleziona la zona contenente i dati da ordinare. Nell'esempio la zona A1:C8.
- Si da il comando Dati | Ordina e filtra | Ordina.
- A questo punto compare la dialog box Ordina. In tale dialog box si possono scegliere le chiavi (campi) ed i criteri di ordinamento. Nell'esempio scegliere:
- Ordina per Colonna B nella prima riga; scegliere l’ordinamento crescente;
- Usare quindi il bottone Aggiungi livello per aggiungere un livello di ordinamento specificare Quindi per Colonna A nella seconda riga; scegliere l’ordinamento crescente;
- Non barrare la casella “il mio elenco ha intestazione”;
- In Opzioni è possibile scegliere se ordinare dall’alto al basso (per righe) o da sinistra a destra (per colonne);
- Confermare con OK e i dati verranno ordinati all'interno della zona selezionata.
- Deselezionare la zona selezionata.
- 10.3 I moduli di dati.
- Selezionata una zona che contiene un elenco (database) comprensivo della prima riga contenente i nomi di campo e delle successive righe contenenti i dati, è possibile richiamare il comando Modulo dalla barra di esecuzione posta sulla barra del titolo. Perché il comando Modulo compaia sulla barra di esecuzione è necessario andare a recuperarlo nelle opzioni di Excel: comando File | Opzioni | Barra di accesso rapido e fare comparire tutte le voci per potere scegliere poi la voce Modulo da aggiungere all’elenco. Una volta scelta la voce Modulo viene mostrata una finestra di dialogo contenente una maschera che consente di visualizzare, inserire, modificare e cancellare i dati di ogni singola riga (record) del database. Più precisamente la finestra di dialogo mostra:
- Una zona dove vi sono i nomi di campo ed i text box per l’inserimento, la visualizzazione o la modifica dei dati della riga (record).
- Un bottone Nuovo per aggiungere una riga all’elenco.
- Un bottone Elimina per cancellare la riga corrente dall’elenco.
- Un bottone Ripristina annullare le modifiche apportate alla riga corrente se non ancora confermate.
- Un bottone Criteri per selezionare i criteri di ricerca (che seguono praticamente la stessa logica di quelli elencati nel paragrafo 10.1.1).
- Un bottone Modulo per tornare alla finestra modulo dalla finestra criteri.
- I bottoni Trova succ. e Trova prec. Che consentono di trovare rispettivamente il successivo ed il precedente record (rispetto a quello corrente) che soddisfano i criteri selezionati. Se non sono impostati criteri i due bottoni spostano avanti o indietro di un record rispetto a quello corrente (effetto che si può comunque ottenere anche agendo sulla Scroll bar).
- Un bottone Chiudi per chiudere il modulo dati.
- 10.4 La funzione Subtotale.
- Selezionata una zona che contiene un elenco (meglio se comprensivo della prima riga contenente i nomi di campo e delle successive righe contenenti i dati) è possibile richiamare il comando Dati | Evidenzia | Subtotali il quale mostra una finestra di dialogo che fornisce i seguenti elementi:
- Il bottone Rimuovi tutti con cui è possibile rimuovere tutti i subtotali inseriti in precedenza.
- Il combo box “Ad ogni cambiamento in” che consente di scegliere il campo dell’elenco i cui cambiamenti determinano i raggruppamenti in base a cui determinare i subtotali (verrà poi inserito anche un totale generale). Si osservi che è bene che l’elenco sia ordinato in base al campo che qui si sceglie.
- Il combo box “Usa la funzione” che consente di scegliere la funzione di raggruppamento (di solito somma).
- L’elenco dei campi a cui applicare i “subtotali” (in “Aggiungi subtotali a”): barrare i campi di interesse.
- Tre opzioni: la prima per sostituire i subtotali correnti a quelli eventualmente presenti in precedenza; la seconda per inserire un salto pagina dopo ogni subtotale; la terza per decidere se inserire i subtotali sopra o sotto ogni raggruppamento.
- 10.5 La funzione Testo in colonne.
- Questa funzionalità consente di prendere un testo che si trova in un’unica colonna e dividerlo in più colonne. Tipicamente la divisione sarà effettuata automaticamente in base all’uso di caratteri di separazione o in base ad una dimensione fissa (in caratteri) che si vuole dare alle colonne. La separazione viene guidata da una serie di finestre di dialogo. Il comando da dare è Dati | Strumenti sui dati | Converti testo in colonne.
- 10.6 La funzione di Consolidamento.
- Descriviamo tramite una procedura esemplificativa la funzione di consolidamento che consente di consolidare (es. sommare) i valori di diverse zone al fine di ottenere una zona riassuntiva. Supponiamo di avere N zone (matrici) di dati e di volerle consolidare su un altro foglio della stessa cartella di lavoro. La procedura potrebbe essere la seguente:
- Selezionare la zona dove si vuole che venga fornito il risultato del consolidamento.
- Dare il comando Dati | Strumenti sui dati | Consolida. Compare la relativa finestra di dialogo in cui eseguire le successive operazioni. Alla fine confermare l’operazione con Ok o interromperla con Chiudi.
- Selezionare la prima zona da consolidare (mentre il cursore della finestra di dialogo si trova su “riferimento”) e premere Aggiungi.
- Ripetere il punto precedente su ogni successiva zona da consolidare. Le zone dovrebbero avere tutte la stessa struttura uguale anche alla zona risultato.
- In Funzione specificare la funzione di consolidamento (di solito somma).
- Specificare eventuali parametri nei check box: in particolare barrare crea collegamenti con i dati originari se si vuole che vengano generate formule che mantengono un collegamento automatico con le zone di origine dei dati.
- 10.7 La funzione Raggruppa e struttura.
- Questa funzionalità richiamata dal comando Dati | Evidenzia | Raggruppa (ed eliminata con il comando Dati | Evidenzia | Elimina raggruppamento) è usata implicitamente in altre funzionalità del foglio elettronico (ad esempio in consolidamento quando si creino i collegamenti con i dati di origine). In alcune occasioni l’uso “manuale” di questa funzionalità può essere utile per dividere gerarchicamente il foglio di lavoro e consentire visualizzazioni a diversi livelli di astrazione (livelli di dettaglio). Non approfondiamo questa funzionalità rimandando eventualmente alla guida interna.
- 10.8 La funzione di estrazione dati.
- Se è necessario estrarre dati da un database (esempio un database Access) per inserirli in un foglio di lavoro si può usare la seguente procedura:
- Posizionarsi sulla cella a partire dalla quale si vuole che inizino ad essere inseriti i dati e dare il comando Dati | Carica dati esterni | Da Access. Compare la finestra Scegli origine dati. Selezionare la fonte dati di interesse e confermare con Apri. Nella successiva finestra di dialogo scegliere la tabella o query di interesse e confermare con Ok. Nella successiva finestra di dialogo confermare le opzioni selezionate con Ok.
- Una volta che si è eseguita la procedura precedente è possibile aggiornare periodicamente a richiesta l’insieme dei dati con la seguente procedura:
- Selezionare la zona dove sono presenti i dati (basta scegliere la prima cella in alto a sinistra).
- Dare il comando Dati | Gestione connessioni | Aggiorna tutto.
- A questo punto si ottiene il set di dati aggiornati.
10.9 La tabella Pivot.
La tabella Pivot è lo strumento ideale per analizzare elenchi di dati (database) in modo da ottenere elaborazioni riassuntive dei dati originali.
La tabella Pivot opera di solito raggruppando i dati in base ad opportuni criteri. Conviene perciò che i dati siano ordinati secondo tali criteri (richiamando un elenco già ordinato o ordinando i dati con il comando Dati | Ordina e Filtra | Ordina).
Una procedura possibile (sufficientemente generale) per creare una tabella Pivot è la seguente:
- Selezionare la zona contenente di dati di partenza (l’elenco che sta alla base dell’elaborazione). Dare il comando Inserisci | Tabelle | Tabella Pivot.
- Nella prima finestra di dialogo occorre di solito scegliere Scegli una Tabella o Elenco per quanto riguarda i dati da analizzare e Nuovo foglio per quanto riguarda la collocazione.
- A questo punto comparirà una nuova finestra sulla destra (una task bar), essa è quella più importante: attraverso intuitive operazioni di selezione e trascinamento sulla task bar, occorrerà scegliere quali campi andranno piazzati sulle righe, quali sulle colonne e quale dato andrà analizzato all’intersezione di ogni riga e colonna nella zona dati; l’idea generale è che per ogni cambiamento di valori dei campi delle righe, delle colonne si esegua un raggruppamento ed un consolidamento dei valori della zona dati (usando la funzione di consolidamento specificata successivamente e che per default è la somma). Per eliminare campi eseguire un trascinamento inverso (dal foglio alla finestra). Per terminare la procedura chiudere la finestra (con l’apposito box di chiusura).
- A questo punto è possibile aggiornare la tabella Pivot selezionando una sua cella e selezionando dalla barra del titolo la voce Strumenti della tabella Pivot | Opzioni e quindi nell’area sottostante (sul nastro – ribbon) selezionando il comando Dati | Aggiorna.
- Per modificare una tabella Pivot è sufficiente selezionare una qualunque cella della tabella Pivot stessa e quindi selezionare dalla barra del titolo la voce Strumenti della tabella Pivot | Opzioni e quindi nell’area sottostante (sul nastro – ribbon) selezionare il comando Mostra | Elenco dei campi. A questo punto compare la Task bar già descritta in precedenza. Oltre a quanto già detto sopra sarà possibile:
- Selezionare la freccetta accanto al nome del campo di cui si vogliono modificare le caratteristiche in una delle zone (righe, colonne, …) e scegliere il comando Impostazioni campo. Compare una finestra di dialogo nella quale si possono scegliere tipicamente i successivi elementi.
- Per un campo delle righe o colonne è possibile specificare tipicamente questi elementi: il nome; i subtotali (scegliendo se ci devono essere o meno e se devono essere predefiniti o scelti tra le funzioni personalizzate indicate a lato).
- Per il campo della zona dati è possibile specificare tipicamente: la funzione di riepilogo (Riepiloga per) scelta dall’elenco in list-box; è possibile altresì specificare tramite la linguetta Mostra i valori come una serie di indicazioni che consentono di svolgere calcoli personalizzati sull’area dati a partire dal valore ottenuto applicando la funzione di riepilogo specificata sopra. In particolare risultano interessanti le seguenti opzioni: % di riga (per calcolare il valore percentuale rispetto al totale generale di ciascuna riga); % di colonna (per calcolare il valore percentuale rispetto al totale generale di ciascuna colonna); % del totale (per calcolare il valore percentuale rispetto al totale generale della tabella Pivot). Per altre opzioni si tratta di calcolare una percentuale, una discordanza o una discordanza percentuale rispetto all’elemento prescelto del campo prescelto (es. per la discordanza in valore dell’elemento attuale rispetto al valore corrispondente del precedente raggruppamento occorre scegliere l’opzione discordanza da e scegliere come campo base il campo che individua il raggruppamento desiderato e scegliere in elemento base la voce “precedente”).
Per modificare il layout di una tabella Pivot è sufficiente selezionare una qualunque cella della tabella Pivot stessa e quindi selezionare dalla barra del titolo la voce Strumenti della tabella Pivot | Disegna e quindi nell’area sottostante (sul nastro – ribbon) selezionare il comando di interesse che applica o modifica il layout desiderato o l’opzione di layout desiderata.
10.10 Le maschere Access.
- Occorre preliminarmente osservare che la visualizzazione e la modifica di dati (di elenchi) in Excel è di solito condotta con strumenti Excel: i moduli (vedi sopra), le finestre programmate in VBA (vedi più avanti) o la modifica diretta dei dati nel foglio. Tuttavia si può usare anche la funzionalità indicata di seguito.
- Per potere usare una maschera Access per dati di un foglio elettronico occorre procedere come segue:
- Preferibilmente, tenere aperto in Excel il documento contenente l’elenco dati desiderato.
- Aprire l’applicativo Access.
- Dare il comando File | Apri e selezionare come tipo di file il tipo delle cartelle Excel (.xlsm, .xlsx,…).
- Selezionare, nella finestra di dialogo Apri la cartella di lavoro e il file di interesse e premere il pulsante Apri.
- Nella successiva finestra di dialogo scegliere il foglio di lavoro di interesse e verificare che nell’elenco sottostante compaiano i dati di interesse.
- Nella successiva finestra di dialogo occorre di solito barrare la voce Intestazioni di colonne nella prima riga.
- Nella successiva finestra di dialogo occorre dare un nome alla tabella di collegamento e confermare con Fine. Verrà creato un database con lo stesso nome della cartella Excel e nello stesso direttorio. Tale database conterrà un collegamento ai dati del foglio Excel selezionato.
- Selezionare il comando Crea | Maschere | Autocomposizione maschere. Selezionare come tabella quella appena creata come collegamento alla cartella Excel e seguire i passi di autocomposizione della maschera Access.
- A questo punto ogni volta che si vuole è possibile aprire Excel con la cartella di lavoro desiderata, aprire Access con il database contenente la maschera di interesse (magari con la finestra non massimizzata in modo da poter vedere Excel sullo sfondo) e aprire anche tale maschera. A questo punto sarà possibile eseguire, tramite la maschera Access, visualizzazioni e stampe ma NON inserimenti, variazioni e cancellazioni. Sarà ancora possibile eseguire direttamente sul foglio inserimenti, variazioni, annullamenti. Se si eseguono inserimenti o annullamenti si consiglia (per evitare ogni possibile problema) di chiudere temporaneamente Access per poi riaprirlo (dopo avere salvato le modifiche in Excel). Si potrà osservare che le modifiche (variazioni, inserimenti e annullamenti) apportate in Excel saranno successivamente visibili nella maschera Access.
- NB Si consiglia di tenere sempre aperto Excel (sul foglio interessato) mentre si opera con la maschera Access relativa per evitare ogni problema di connessione.
- Per automatizzare l’operazione è possibile (vedi anche la parte di programmazione più sotto) creare un bottone a cui associare una macro che contenga l’istruzione: “Variabile = Shell("Pathname_di_Access Pathname_del_Database_di_Collegamento", 1)”. Se poi il “database di collegamento” richiama automaticamente, all’apertura, la maschera di riferimento si può cominciare direttamente ad operare sui dati di Excel tramite maschera Access.
10.11 I Report di Access.
Occorre preliminarmente osservare che la stampa di dati (di elenchi) in Excel è di solito condotta con strumenti Excel: disponendo direttamente i dati in opportune zone di output. Tuttavia si possono usare anche le funzionalità indicate di seguito.
- Per potere usare una maschera Access per dati di un foglio elettronico occorre procedere come segue:
- Preferibilmente, tenere aperto in Excel il documento contenente l’elenco dati desiderato.
- Aprire l’applicativo Access.
- Dare il comando File | Apri e selezionare come tipo di file il tipo delle cartelle Excel (.xlsm, .xlsx,…).
- Selezionare, nella finestra di dialogo Apri la cartella di lavoro e il file di interesse e premere il pulsante Apri.
- Nella successiva finestra di dialogo scegliere il foglio di lavoro di interesse e verificare che nell’elenco sottostante compaiano i dati di interesse.
- Nella successiva finestra di dialogo occorre di solito barrare la voce Intestazioni di colonne nella prima riga.
- Nella successiva finestra di dialogo occorre dare un nome alla tabella di collegamento e confermare con Fine. Verrà creato un database con lo stesso nome della cartella Excel e nello stesso direttorio. Tale database conterrà un collegamento ai dati del foglio Excel selezionato.
- Selezionare il comando Crea | Report | Autocomposizione report. Selezionare come tabella quella appena creata come collegamento alla cartella Excel e seguire i passi di autocomposizione del report Access.
- A questo punto ogni volta che si vuole è possibile aprire Excel con la cartella di lavoro desiderata, aprire Access con il database contenente il report di interesse (magari con la finestra non massimizzata in modo da poter vedere Excel sullo sfondo) e aprire anche tale report. Sarà così possibile visualizzare e stampare i dati del foglio tramite il report Access. Si potrà osservare che le modifiche (variazioni, inserimenti e annullamenti) apportate in Excel saranno successivamente visibili nel report Access.
- NB Si consiglia di tenere sempre aperto Excel (sul foglio interessato) mentre si opera con il report Access relativo per evitare ogni problema di connessione.
NB Per evitare alcune inefficienze potrebbe essere utile chiudere EXCEL mentre si crea o si modifica la struttura del report di Access.
- 10.12 Importazione in Access.
- Per potere importare in Access un “database Excel” si può procedere come descritto nei seguenti punti:
- Aprire l’applicativo Access.
- Aprire un database precedente o crearne uno nuovo.
- Dare il comando Dati esterni | Importa & Collega | Excel.
- Selezionare, nella successiva finestra di dialogo il percorso dove di trova la cartella Excel di interesse, scegliere il pulsante di opzione relativa all’importazione (l’alternativa è la creazione di un collegamento).
- Nella successiva finestra di dialogo scegliere il foglio di lavoro di interesse e verificare che nell’elenco sottostante compaiano i dati di interesse.
- Nella successiva finestra di dialogo occorre di solito barrare la voce Intestazioni di colonne nella prima riga.
- Nella successiva finestra di dialogo si possono specificare alcune caratteristiche per i campi importati (nomi e indicizzazione).
- Nella successiva finestra di dialogo si può specificare la chiave primaria.
- Nella successiva finestra di dialogo occorre dare un nome alla tabella di importazione e confermare con Fine.
- A questo punto i dati sono stati importati in una tabella Access.
11. COMPLEMENTI DI EXCEL.
Prima di affrontare la parte relativa alle macro con la programmazione in VBA completiamo il discorso sulle voci di menù evidenziando le funzionalità relative a tre opzioni abbastanza interessanti: ricerca obiettivo, risolutore e scenari.
11.1 La ricerca obiettivo.
La ricerca obiettivo consente di ottenere la soluzione approssimata di equazioni usando la seguente procedura:
- Si consideri l’equazione F(X) = C dove C è una costante: il valore X sarà rappresentato da una cella del foglio elettronico.
- Si scriva l’espressione di F(X) in una cella del foglio che chiameremo cella funzione. La X sarà rappresentata da un’altra cella del foglio elettronico che chiameremo cella incognita. Chiameremo C valore costante.
- Selezionare la cella funzione e dare il comando Dati | Strumenti sui dati | Analisi cosa-succede-se | Ricerca obiettivo. Nella seguente finestra di dialogo occorre: lasciare l’indirizzo della cella funzione in “imposta la cella”; piazzare il valore costante in “al valore”; mettere l’indirizzo della cella incognita in “cambiando la cella”. Confermare con Ok.
- La macchina prova ad elaborare una soluzione e visualizza una finestra di dialogo che indica se è stata trovata o meno una soluzione e con che valori. Se si conferma la finestra di dialogo i valori vengono inseriti al posto opportuno nel foglio elettronico.
- 11.2 Il risolutore.
- L’utilizzo tipico del risolutore è quello di potere risolvere problemi di programmazione lineare (di massimo o di minimo) anche se lo strumento è comunque più generale e consente di risolvere anche altri problemi. Se la natura del problema lo richiede si può impostare il formato delle zone di interesse a quello frazionario.
- Si consideri ora il problema di programmazione lineare con la seguente struttura:
- Funzione obiettivo: F(x1,...,xN)=C1*X1+ ... + CN*XN+C
- Vincoli:
- v11*X1+ ... + v1N*XN <= T1
- v21*X1+ ... + v2N*XN <= T2
- ...............................................
- vM1*X1+ ... + vMN*XN <= TM
- Più in generale i simboli di confronto dei vincoli potranno essere di tipo qualsiasi (<=, >=, =). La funzione obiettivo dovrà essere massimizzata o minimizzata (o più raramente resa uguale ad un valore).
- Per risolvere il precedente problema di programmazione lineare si può procedere come segue:
- Fissare una zona dove piazzare le celle che rappresentano le variabili X1, ..., XN: chiameremo tale zona la zona variabili.
- Fissare una cella in cui scrivere la funzione obiettivo come espressione che fa riferimento alle celle della zona variabili: chiameremo questa cella la cella obiettivo.
- Fissare una zona in cui porre i vincoli. Per chiarezza si potrebbero costruire tre colonne: nella prima colonna (le cui celle saranno per noi le celle di vincolo) porremo le espressioni dei vincoli in funzione delle celle della zona variabili senza il segno del vincolo e senza il termine noto; la seconda colonna (le cui celle chiameremo celle di segno) conterrà il segno del vincolo (<=, >=, =); nella terza colonna (le cui celle saranno per noi le celle dei termini noti) porremo i termini noti delle espressioni vincolari.
- Si richiama a questo punto il comando Formule | Soluzioni | Risolutore e compare la relativa finestra di dialogo nella quale occorre operare come indicato successivamente. Se la voce Risolutore non dovesse essere presente nel menù Formle | Soluzioni è sufficiente dare il comando File | Opzioni | Componenti aggiuntivi e attivare (in maniera intuitiva) la voce Aggiunta risolutore dalla relativa finestra (occorre selezionare il risolutore nella lista e usare anche il pulsante Vai per scegliere effettivamente il risolutore).
- In imposta cella obiettivo fornire l’indirizzo della cella obiettivo.
- Nei radio button uguale a scegliere il tipo di problema (di solito massimo o minimo).
- Nel gruppo cambiando le celle indicare l’intervallo della zona variabili.
- Nel gruppo vincoli occorrerà usare il pulsante aggiungi per aggiungere i vincoli. Sarà poi possibile eliminare e/o modificare i vincoli aggiunti o aggiungerne altri. Usando il pulsante aggiungi compare una finestra di dialogo da usare iterativamente nella quale: nel campo riferimento occorre indicare la cella di vincolo attuale; nel campo successivo occorre indicare il segno del vincolo (scelto guardando la relativa cella di segno); nel restante campo (vincolo) si metterà il riferimento alla cella del termine noto attuale. Il pulsante Aggiungi consente di aggiungere questo vincolo e di caricarne un altro (attraverso la stessa finestra di dialogo); il pulsante Ok consente di aggiungere il vincolo attuale e di tornare alla precedente finestra di dialogo.
- Tornati alla finestra di dialogo dei parametri del risolutore è possibile specificare alcune opzioni tramite il pulsante opzioni. Tra le opzioni più interessanti si evidenziano le seguenti: quella che fissa il tempo massimo di esecuzione e quella che fissa il numero massimo di iterazioni; l’opzione che consente di fissare il limite di approssimazione accettabile per una soluzione non esatta; l’opzione mostra il risultato delle iterazioni che consente di vedere ogni singola soluzione ammissibile durante la soluzione del problema di programmazione lineare anziché vedere solo la soluzione finale.
- Tornati alla finestra principale è possibile specificare, per la voce Scegli un metodo di soluzione, l’opzione Simplesso (programmazione lineare) che è ottimale per i problemi di programmazione lineare.
- Il pulsante Risolvi consente di dare il via al procedimento di risoluzione del problema (di programmazione lineare). Se si è scelto di mostrare il risultato delle singole iterazioni si osserverà innanzi tutto che la prima soluzione verrà mostrata un po’ di volte (di solito tante volte quante sono le variabili) e poi la macchina si ferma ad ogni iterazione consentendo di vedere i valori delle variabili, della funzione obiettivo e dei vincoli nelle relative zone.
- Alla fine, in ogni caso (che si sia scelto o meno di vedere le singole iterazioni), compare una finestra di dialogo che consente di scegliere se mantenere i risultati ottenuti con il risolutore o ripristinare quelli precedenti. Tale finestra di dialogo consente anche di specificare la produzione di rapporti sul procedimento di risoluzione.
- Si osservi che il bottone Reimposta della finestra dei parametri del risolutore consente di “ripulire” la finestra stessa e le opzioni correlate dai valori inseriti in precedenza per poter partire con una nuova situazione (oppure una situazione che potrebbe anche essere caricata da un modello precedentemente salvato: vedi pulsante carica/salva che consente di salvare e caricare i parametri del risolutore in una zona distinta del foglio elettronico).
- 11.3 Gli scenari.
- Gli scenari sono collezioni di valori di celle che vengono memorizzati (assieme alle cartelle di lavoro) e che consentono di eseguire delle simulazioni proponendo (dopo averli creati) diversi insiemi di valori di input (scenari appunto) e vedendo come si comportano i dati di output per ognuno degli insiemi di input.
- Per operare sugli scenari occorre dare il comando Dati | Strumenti sui dati | Analisi cosa-succede-se | Gestione scenari. Dato questo comando compare la finestra di dialogo Gestione scenari nella quale è possibile svolgere fondamentalmente le seguenti operazioni:
- Creare un nuovo scenario con il bottone Aggiungi: vengono chiesti il nome dello scenario e le celle che comporranno lo scenario (che possono essere anche non contigue - vedi le indicazioni della finestra); con il pulsante Ok è possibile accedere ad una maschera in cui si possono vedere e modificare i valori delle celle scelte che andranno a comporre lo scenario; confermando con Ok si aggiungerà lo scenario all’elenco di quelli già esistenti.
- Usare uno scenario con il bottone Mostra: si sceglie lo scenario dalla lista e si preme il bottone Mostra: i valori dello scenario andranno ad inserirsi nelle relative celle ed il foglio verrà ricalcolato.
- Eliminare uno scenario con il bottone Elimina una volta scelto lo scenario dalla lista.
- Modificare i dati di uno scenario tramite il bottone Modifica: si accede alle stesse finestre che si ottengono con il bottone Aggiungi dopo avere però scelto uno scenario dalla lista: le finestre descritte in precedenza per il bottone Aggiungi consentiranno la modifica del nome, delle celle e dei valori dello scenario scelto.
- Il bottone Unisci consente di replicare sul foglio corrente gli scenari di altri fogli della stessa cartella di lavoro. Meno importante per i nostri scopi la possibilità di ottenere riepiloghi con il bottone Riepilogo.
- Si esce dal manager scenari con il bottone Chiudi.
- 12. LA PROGRAMMAZIONE IN EXCEL - VBA (CENNI).
- Di solito il codice viene associato agli eventi che si possono verificare (nel modello previsto da Excel) sugli oggetti di un foglio di lavoro o sugli oggetti opportunamente disposti in una finestra. Attraverso i seguenti paragrafi vedremo come scrivere il codice e quali particolarità sono da osservare per codificare in VBA rispetto al Visual Basic “normale” (versione 5.0 / 6.0).
- 12.1 Come scrivere il codice (l’Editor di Visual Basic).
- Occorre innanzi tutto dire che in questa versione si scrive codice usando solo la versione “inglese” del VBA.
- Per potere scrivere codice occorre aprire l’Editor di Visual Basic dando il comando Sviluppatore | Codice | Visual Basic. Viene aperto l’ambiente di creazione e modifica di macro VBA. Se il menù Sviluppatore non è visibile occorre abilitarlo andando a selezionare e aggiungere il gruppo Sviluppatore dall’elenco dei gruppi all’interno della voce (linguetta) Personalizza barra multifunzione dopo aver dato il comando File | Opzioni.
- A questo punto l’area cliente dell’ambiente risulta divisa in varie finestre corrispondenti approssimativamente a quelle dell’ambiente di sviluppo del Visual Basic. In particolare sottolineiamo le seguenti:
- Una finestra che può contenere i seguenti oggetti della cartella di lavoro a cui è possibile associare codice: la cartella di lavoro stessa, i fogli di lavoro (contenenti anche gli oggetti disposti sul foglio di lavoro), le Form (finestre e finestre di dialogo), i moduli (per definire funzioni e variabili globali e contenenti anche il codice associato agli eventi sui controlli non ActiveX inseriti sul foglio di lavoro) e i moduli di classe (per la programmazione ad oggetti). E’ possibile inserire ed a volte eliminare, in maniera opportuna, tali oggetti (vedi sotto).
- Facendo doppio click sull’oggetto di interesse in un certo istante viene aperta una finestra di codice (simile a quella dell’ambiente del Visual Basic) nella quale si potranno scrivere e modificare le Sub o le Function. Esse sono associate agli eventi sugli oggetti o direttamente richiamate nel codice. E’ pure possibile dichiarare variabili locali o globali come si faceva in Visual Basic “normale” nelle sezioni di dichiarazione globali di un modulo o locali di un particolare oggetto. NB Nella versione su cui sono state svolte le prove è stato osservato che in alcuni contesti è ASSOLUTAMENTE NECESSARIO DICHIARARE TUTTE LE VARIABILI UTILIZZATE (anche solo di tipo Variant) altrimenti si verificano errori all’atto dell’esecuzione. La finestra di codice dispone di due combo box in alto: il primo consente di scegliere l’oggetto (o la sezione generale - per le dichiarazioni) a cui associare il codice, il secondo consente di scegliere l’evento (o la sezione per le dichiarazioni - di procedure, funzioni o variabili) a cui associare codice.
- A questo punto, all’interno dell’ambiente di sviluppo del VBA, sono possibili una serie di operazioni oltre alla scrittura e alla modifica del codice (che fanno uso di una modalità intuitiva) e che sono attivate tipicamente attraverso l’uso di voci di menù. Sono a tale proposito particolarmente interessanti le due seguenti voci:
- File | Salva … per salvare il codice (assieme a tutta la cartella di lavoro).
- File | Rimuovi … per rimuovere (se possibile) l’oggetto corrente.
- File | Stampa per stampare il codice ed eventualmente l’immagine dei form.
- File | Chiudi e torna a … per chiudere l’ambiente di sviluppo del VBA e tornare al foglio elettronico.
- Il menù Modifica per le operazioni di editing.
- Il menù Visualizza che consente principalmente di visualizzare le diverse finestre di cui si può comporre l’ambiente: finestra di codice (con il codice dell’elemento attualmente selezionato), finestra immediata (con la possibilità di eseguire istruzioni di debugging durante l’esecuzione), finestra variabili locali e finestra espressioni di controllo (per il debugging di espressioni durante l’esecuzione), finestra gestione progetti (che contiene come detto in precedenza l’elenco degli oggetti a cui è possibile associare codice), finestra proprietà (per le proprietà dell’oggetto corrente), finestra della casella degli strumenti (per aggiungere oggetti su di una finestra o finestra di dialogo), finestre per le barre degli strumenti, finestra delle proprietà (per mostrare e modificare le proprietà degli oggetti.
- Il menù Inserisci che consente di inserire nuovi oggetti nel progetto corrente; in particolare consente di inserire: User Form (finestre e finestre di dialogo), Moduli e Moduli di classe. La cartella di lavoro ed i fogli vengono automaticamente inseriti quando vengono creati dall’ambiente Excel.
- Il menù Formato per le operazioni di formattazione (soprattutto degli oggetti in un form).
- Il menù Debug che contiene le opzioni per il debugging.
- Il menù Esegui che consente di eseguire il codice di una sub o di una finestra (quella correntemente selezionata). E’ possibile altresì interrompere l’esecuzione e ripristinarla.
- Il menù Strumenti con la voce per le opzioni dell’ambiente di sviluppo e con la voce per le proprietà del progetto VBA.
- Strumenti | Riferimenti che consente di specificare quali librerie di oggetti includere nel progetto (le librerie possono essere librerie utente o di sistema).
- Aggiunte | Controlli Aggiuntivi che consente di inserire, quando visualizzata la casella degli strumenti, nuovi controlli scelti tra quelli installati sul sistema.
- Visualizza | Visualizzatore oggetti che consente di visualizzare le librerie di oggetti incluse, per ogni libreria consente di visualizzare gli oggetti presenti e per ogni oggetto di vedere metodi e proprietà e, se previsto, di consultare la guida in linea per ogni metodo/proprietà.
- Completano il quadro i soliti menù Finestra e Help.
- 12.2 La struttura degli oggetti di Excel.
- I numerosissimi oggetti messi a disposizione dall’applicativo Excel per la programmazione in VBA (e per l’automazione OLE) sono stati raggruppati secondo una gerarchia che ripercorre, in generale, la struttura di un documento Excel: l’applicativo Excel contiene una collezione di cartelle di lavoro, ogni cartella di lavoro contiene una collezione di fogli di diverso tipo (fogli di lavoro, fogli grafici, ecc.), ogni foglio contiene diverse collezioni di oggetti: range di celle, oggetti grafici (come bottoni e listbox), ecc.. Per cui la struttura generale è quella di una gerarchia di oggetti e collezioni (insiemi) di oggetti ognuno dei quali espone metodi e proprietà.
- Pensando agli oggetti che maggiormente ci saranno utili possiamo delineare la seguente struttura parziale degli oggetti Excel:
- Oggetto Application che rappresenta l’intero applicativo Excel. Contiene:
- La collezione Workbooks (cartelle di lavoro) degli oggetti Workbook (cartella di lavoro). Contiene:
- La collezione Worksheets (fogli di lavoro) degli oggetti Worksheet (foglio di lavoro). Contiene:
- Oggetti Range (intervalli di celle). Una categoria particolare di oggetti Range è quella degli oggetti Cells (celle).
- La collezione di tutti gli oggetti grafici inseriti nel foglio (bottoni, edit controls, listbox, checkbox, ecc.) ognuno accessibile direttamente attraverso il suo nome oppure attraverso la collezione Shapes.
- La collezione Windows (finestre) degli oggetti Window (finestra) dell’applicativo.
- La collezione CommandBars (barre di comando) degli oggetti CommandBar (barra di comando) che consente di gestire, in particolare i menù.
- La collezione delle finestre (User Form) ognuna accessibile con il proprio nome. Ogni finestra contiene:
- La collezione che contiene tutti gli oggetti grafici inseriti nella finestra (bottoni, listbox, checkbox, ecc.) accessibili ognuno con il proprio nome.
- Come di consueto in Visual Basic ed in VBA le notazioni per accedere ad un oggetto e per accedere ad un metodo o proprietà di un oggetto sono le seguenti:
- Per individuare un oggetto in una collezione si usa la notazione: Collezione(indice) dove indice può essere il numero di posizione (intero) o il nome (stringa) dell’oggetto all’interno della collezione. Es. Workbooks(“CARTEL1.XLSM”) per indicare la cartella di lavoro cartel1.xlsm; Workbooks(1) per indicare la prima cartella di lavoro attualmente aperta.
- Per individuare un oggetto all’interno di una gerarchia di oggetti si usa la notazione punto: Oggetto1.Oggetto11.Oggetto111. ... .OggettoFinale. Es. per individuare l’oggetto cella C4 del foglio di lavoro foglio1 della cartella di lavoro ca1.xlsm si usa la notazione: Workbooks(“ca1.xlsm”).Worksheets(“foglio1”).Cells(4,3). Si osservi che per comodità è possibile usare variabili di tipo oggetto (Object) a cui assegnare singoli oggetti o collezioni usando l’istruzione di assegnamento Set (Set varoggetto = oggetto).
- Per individuare un metodo/proprietà di un oggetto si usa la notazione punto: Oggetto.MetodoProprietà. Es. per individuare il valore della cella C4 del foglio di lavoro Foglio1 della cartella di lavoro ca1.xlsm si usa la notazione: Workbooks(“ca1.xlsm”).Worksheets(“Foglio1”).Cells(4,3).Value.
- Si osservi che in talune ipotesi è possibile fare assunzioni di default ed evitare di specificare l’intera gerarchia di oggetti per giungere all’oggetto di interesse. In particolare si può fare riferimento alla cartella corrente (soprattutto se è aperta una sola cartella) o al foglio corrente (soprattutto se nella cartella è presente un solo foglio); nel riferire gli oggetti di una cartella di lavoro o di un foglio di lavoro, l’oggetto radice Application è di solito sempre sottinteso e può non essere menzionato. Es. se la cartella corrente è la cartella ca1.xlsm e il foglio corrente è Foglio1, la cella C4 può essere individuata indifferentemente con una delle seguenti 4 notazioni:
- Application.Workbooks(“ca1.xlsm”).Worksheets(“Foglio1”).Cells(4,3) oppure
- Workbooks(“ca1.xlsm”).Worksheets(“Foglio1”).Cells(4,3) oppure
- Cells(4,3) o infine
- Worksheets(“Foglio1”).Cells(4,3).
- 12.3 Fogli di lavoro e cartelle di lavoro: oggetti, metodi, proprietà.
- Tenendo conto di quanto detto al paragrafo 12.2 sulla struttura degli oggetti e sul modo di riferire gli oggetti stessi, i loro metodi e le loro proprietà, possiamo dare una descrizione degli oggetti più significativi (con i più significativi metodi e proprietà) che si incontrano lavorando in Excel.
- L’oggetto Workbook rappresenta una cartella di lavoro. Si può scegliere una particolare cartella di lavoro scegliendo un elemento dalla collezione Workbooks con la notazione: Workbooks(“nome_cartella”).
- Alcuni metodi e proprietà della collezione Workbooks sono: la proprietà Count che dice quante cartelle di lavoro sono presenti nell’applicazione corrente; il metodo Open che consente di aprire una cartella di lavoro inserendola nella collezione.
- Alcuni metodi e proprietà per l’oggetto Workbook sono ad esempio i seguenti: la proprietà Name che fornisce il nome (comprensivo dell’estensione .xlsm) della cartella di lavoro, la collezione (proprietà) Worksheets che fornisce la collezione dei fogli di lavoro della cartella di lavoro; il metodo Close per chiudere una cartella di lavoro (ed eliminarla dalla collezione Workbooks).
- L’oggetto Worksheet rappresenta un foglio di lavoro. Si può scegliere un particolare oggetto foglio di lavoro scegliendo un elemento dalla collezione Worksheets con la notazione: Worksheets(“nome_foglio”).
- All’oggetto Worksheet si possono applicare i metodi Range e Cells (che restituiscono oggetti di tipo Range - vedi sotto) per individuare insiemi o singole celle del foglio.
- Altri metodi e proprietà per l’oggetto Worksheet sono ad esempio i seguenti: il metodo Activate per rendere attivo il foglio voluto (es. Worksheets(“prova”).Activate); la proprietà Index per fornire la posizione (indice) di un certo foglio nella collezione Worksheets (i fogli sono numerati da 1 a Worksheets.Count nella collezione Worksheets); la proprietà Name che fornisce il nome del foglio di lavoro; il metodo Delete per cancellare un foglio di lavoro.
- Alcuni esempi di metodi e proprietà della collezione Worksheets sono i seguenti: il metodo Add per aggiungere un nuovo foglio di lavoro (il metodo restituisce un riferimento al foglio inserito); la proprietà Count per stabilire quanti sono i fogli presenti nella collezione.
- L’oggetto Range rappresenta un insieme di celle di un foglio di lavoro. Per generare un oggetto di tipo Range si possono usare i metodi Range e Cells dell’oggetto Worksheet. Vediamoli più in dettaglio:
- Usando il metodo Worksheets(“foglio”).Cells(riga,colonna) si può individuare la cella del foglio di lavoro foglio che si trova all’intersezione della riga e della colonna specificate (come numeri). Come al solito l’oggetto Worksheets(“foglio”) può essere omesso ed in questo caso si fa riferimento al foglio corrente (se esiste) oppure può essere necessario qualificare ulteriormente l’oggetto specificando ad esempio la cartella (workbook) a cui appartiene (vedi paragrafo 12.3). In ogni caso per l’oggetto range così determinato è possibile specificare metodi e proprietà. In particolare ricordiamo le seguenti:
- La proprietà Value (lettura/scrittura) che rappresenta il valore della cella specificata. Questa è la proprietà di default per quanto riguarda l’oggetto range in questione; tuttavia per ragioni di chiarezza conviene sempre specificarla esplicitamente.
- La proprietà Formula (lettura/scrittura) che rappresenta la formula contenuta nella cella specificata. Tutte le formule devono essere scritte nella “versione inglese”; per sapere il corrispondente “inglese” di una formula scritta in “italiano” è sufficiente scrivere una macro che legge la proprietà Formula di una cella in cui è scritta una formula in “italiano” e la visualizza in un message box. Le formule sono scritte nella notazione “A1”.
- La proprietà FormulaR1C1 (lettura/scrittura) che rappresenta la formula contenuta nella cella specificata nella notazione R1C1. Anche qui la formula deve essere scritta nella “versione inglese”. Nella notazione R1C1 un indirizzo assoluto si specifica scrivendo RxCy dove x e y rappresentano il numero di riga e di colonna della cella desiderata; un indirizzo relativo ha la notazione seguente R[±x]C[±y] che rappresenta una cella che si trova ±x righe sopra/sotto quella corrente (quella in cui si sta scrivendo la formula) e ±y colonne a destra/sinistra di quella corrente; si possono naturalmente costruire, con i precedenti principi, indirizzamenti misti; si osservi che negli indirizzi relativi una cella sulla stessa riga di quella in cui si scrive la formula si indica semplicemente con R e una cella sulla stessa colonna di quella in cui si scrive la formula si scrive semplicemente con C.
- Usando il metodo Worksheets(“foglio”).Range(“espr_range”) si fa riferimento all’insieme di celle specificate dall’espressione espr_range (del foglio foglio). L’espressione espr_range rappresenta di solito una zona del foglio in notazione Excel (es. A1:C20 o D140, ecc.). Si può usare la sintassi Range(Cells(x1,y1),Cells(x2,y2)) per individuare la zona rettangolare del foglio compresa tra le celle di coordinate numeriche (x1,y1) e (x2,y2). Anche la semplice sintassi Cells(x,y) vista in precedenza genera un oggetto range che rappresenta una zona del foglio formata da una sola cella.
- Esempi di metodi/proprietà applicabili all’oggetto Range (comunque sia stato ricavato) sono i seguenti: le proprietà Value, Formula e FormulaR1C1 già visti prima (che hanno senso ovviamente se la zona si riduce ad una cella); il metodo Clear per vuotare la zona individuata; il metodo Font per individuare un oggetto che rappresenta il font da applicare alla zona in questione (sull’oggetto Font si possono poi applicare metodi e proprietà: ad esempio la proprietà Bold per indicare se il font è o meno grassettato): es. Cells(3,4).Font.Bold = True; la proprietà HorizontalAlignment per controllare l’allineamento orizzontale del testo nella zona in questione; il metodo BorderAround per consentire di tracciare bordi attorno alla zona in questione (nella versione beta in uso a causa di un baco il metodo produce bordi “non chiusi” introno alla zona in questione!); il metodo Select per selezionare una zona; la proprietà ColumnWidth consente di leggere e scrivere la larghezza delle colonne di una zona; la proprietà RowHeight consente di leggere e scrivere l’altezza delle righe di una zona; la proprietà NumberFormat consente di leggere e scrivere il formato (numerico) delle celle della zona: la stringa è la stessa che si usa per impostare il formato attraverso il comando opportuno (campo Tipo quando si sceglie formato personalizzato); il metodo AdvancedFilter che consente potenti operazioni di filtro su “database” (elenchi).
- NB Se si dovessero verificare strani messaggi di errore (nella versione corrente non ne sono stati osservati) si ritiene che l’uso singolo o combinato delle seguenti strategie possa consentire di eliminare il problema:
- Attivare il foglio su cui si vuole operare usando il metodo Activate (es. WorkSheets(“Foglio1”).Activate).
- Usare variabili Oggetto, assegnate con istruzioni del tipo Set NomeVar = Oggetto (es. Set FoglioAttuale = WorkSheets(“Foglio1”)), per fare riferimento agli oggetti di interesse.
- Utilizzare il metodo Select per selezionare un certo range (es. Range(“A1:C20”).Select) e quindi usare, al posto dell’oggetto range originale, l’oggetto di tipo range Application.Selection per richiamare i metodi o le proprietà desiderate (Es. Application.Selection.HorizontalAlignment = xlCenter).
- NB E’ stato osservato che per le cartelle di lavoro di versioni precedenti (5.0/7.0) il metodo Add di WorkSheets non funziona correttamente con l’opzione After: per ovviare al problema è sufficiente inserire un foglio fasullo in fondo ed inserire i nuovi fogli prima di quest’ultimo (opzione Before invece che After).
- Non va dimenticato l’oggetto Application che rappresenta l’applicazione nel suo complesso e che fornisce proprietà e metodi utili un po’ ovunque nella gestione dei fogli di lavoro. Esempi di metodi/proprietà di questo oggetto sono i seguenti: la proprietà Selection, che abbiamo già incontrato, e che rappresenta un riferimento all’oggetto correntemente selezionato (es. un oggetto range se sono selezionate delle celle di un foglio di lavoro); il metodo Workbooks che fornisce la collezione degli oggetti cartelle di lavoro attualmente aperti nell’applicazione; la proprietà DisplayAlerts che consente, se impostata al valore False, di non visualizzare prompt e messaggi di avviso durante l'esecuzione di una macro e in modo che la risposta predefinita venga scelta automaticamente da Microsoft Excel (l’impostazione di default è True); il metodo ActiveSheet che consente di fornire l’oggetto corrispondente al foglio di lavoro correntemente attivo.
- Usando il metodo Refresh dell’oggetto QueryTable appartenente alla collezione QueryTables (delle query di dati esterni) collocata a sua volta gerarchicamente sotto l’oggetto Worksheet è possibile aggiornare i dati di una query ottenuti con il comando apposito. L’oggetto QueryTable dispone anche della proprietà Name che consente di fornire il nome della query (internamente a Excel).
- E’ infine possibile eseguire la procedura Shell per mandare in esecuzione un applicativo (con eventuali parametri).
- 12.4 Uso dei controlli VBA in un foglio di lavoro.
- Per disporre oggetti sulla superficie del foglio elettronico è sufficiente far comparire la Casella degli strumenti (usando il comando Sviluppatore | Controlli | Inserisci), selezionare l’elemento voluto dalla sezione Controlli del Form o meglio dalla sezione Controlli ActiveX (quest’ultima è la sezione degli oggetti compatibili con le versioni precedenti) ed eseguire una operazione di trascinamento sul foglio per dimensionare e posizionare l’oggetto. In questo modo si entra automaticamente in modalità Progettazione nella quale è possibile fare l’inserimento, la modifica e la cancellazione degli oggetti ma non è possibile mandare in esecuzione il codice associato. La voce di menù Sviluppatore | Controlli | Modalità disegno consente di commutare dalla modalità Progettazione alla modalità Esecuzione (nella quale è possibile eseguire codice ma non è possibile la modifica degli oggetti) e viceversa.
- In modalità progettazione, usando la voce Sviluppatore | Controlli | Proprietà è possibile accedere alla finestra delle proprietà dell’oggetto (praticamente identica alla finestra che compare in Visual Basic).
- Si osservi che nella Casella degli strumenti l’ultimo bottone (dei controlli ActiveX) consente di accedere ad una ampia lista di controlli aggiuntivi: se vi è necessità di un controllo non presente tra quelli “standard” si può scorrere questa lista (così si deve fare per l’oggetto Frame).
- Per associare codice agli eventi di un oggetto è sufficiente selezionare la voce Sviluppatore | Controlli | Visualizza Codice dopo avere selezionato l’oggetto in questione. A questo punto compare la finestra dell’ambiente di sviluppo del VBA e all’interno di questa finestra viene aperta la finestra di codice con la selezione per l’oggetto di interesse. Attraverso i due combo box si può passare da un evento all’altro e da un oggetto all’altro (come in Visual Basic). Individuato l’evento (e l’oggetto) desiderato si può passare a scrivere o modificare la routine di risposta.
- All’interno del codice è possibile fare riferimento ai metodi ed alle proprietà di un oggetto tramite la seguente espressione sintattica: OggettoWorksheet.nomeogg.metpro dove OggettoWorksheet rappresenta un qualunque oggetto foglio elettronico individuato con la sintassi descritta al paragrafo 12.2, nomeogg rappresenta il nome dell’oggetto (per sapere quale è il nome di un oggetto si può accedere alla proprietà Name nella finestra delle proprietà o controllare il nome che compare nella barra della formula quando è selezionato l’oggetto di interesse), metpro rappresenta il metodo o proprietà dell’oggetto (diverso a seconda del tipo di oggetto).
- Es. ActiveSheet.ListBox1.Clear. Dove l’oggetto ActiveSheet rappresenta il foglio correntemente attivo.
- Esiste la possibilità di usare una “scorciatoia” per i nomi: si può fare riferimento ad un metodo o proprietà di un oggetto anche solo con la sintassi nomeogg.metro. Es. ListBox1.Clear.
- E’ anche possibile agire sull’insieme degli oggetti disposti su di un foglio attraverso la sintassi OggettoWorkSheet.Shapes. La collezione Shapes possiede come al solito la proprietà Count che dice quanti oggetti ci sono sul foglio. Della collezione Shapes è possibile selezionare un certo elemento con la sintassi Shapes(Indice) dove Indice può essere il nome dell’oggetto o un numero (che parte da 1) che ne indica la posizione all’interno della collezione; sono a questo punto applicabili una serie di metodi e proprietà (vedi la documentazione in linea) come la proprietà Name. Ad esempio per ottenere il nome di ListBox1 si può scrivere: ActiveSheet.Shapes(“ListBox1”).Name.
- Per quanto riguarda i metodi e le proprietà degli oggetti, riportiamo un elenco breve dei principali metodi e proprietà degli oggetti più significativi di Excel, per il resto si rimanda alla documentazione in linea. Per ottenere proprietà e metodi degli oggetti è altresì possibile usare il Visualizzatore di Oggetti richiamato dall’ambiente di sviluppo del VBA con il comando Visualizza | Visualizzatore oggetti.
- Oggetto ListBox (Casella di Riepilogo): proprietà ListIndex fornisce il numero di riga selezionato (-1 se non è selezionato nulla); metodo List(indice) che consente di determinare l’elemento di posizione indice della list box (gli elementi sono numerati a partire da 0); proprietà ListCount che fornisce il numero di elementi della list box (numerati da 0); metodo Clear che consente di eliminare tutti gli elementi della list box; metodo AddItem(stringa) che consente di aggiungere stringa in fondo alla list box; il vettore di proprietà Selected(indice) che consente di stabilite se l’elemento di posizione indice è o meno selezionato; metodo RemoveItem(indice) che consente di eliminare l’elemento di posizione indice (gli elementi sono numerati a partire da 0 e indice deve essere una variabile).
- Oggetto Label (Etichetta): proprietà Caption che rappresenta il contenuto (testo) del label.
- Oggetto Text Box (Casella di testo): proprietà Text che rappresenta il valore (testo) dell’area di testo.
- Oggetto ComboBox (Casella combinata): proprietà ListIndex fornisce il numero di riga selezionato (-1 se non è selezionato nulla); metodo List(indice) che consente di determinare l’elemento di posizione indice della listbox (gli elementi sono numerati a partire da 0); proprietà ListCount che fornisce il numero di elementi della listbox (numerati da 0); metodo Clear che consente di eliminare tutti gli elementi della listbox; metodo AddItem(stringa) che consente di aggiungere stringa in fondo alla listbox; metodo RemoveItem(indice) che consente di eliminare l’elemento di posizione indice (gli elementi sono numerati a partire da 0 e indice deve essere una variabile).
- Oggetto Image (Immagine) che può sostituire l’oggetto Frame. Perché la visualizzazione sia corretta potrebbe essere necessario portare qualche oggetto in primo piano e qualche altro in secondo piano usando i comandi relativi.
- Oggetto OptionButton (Pulsante di opzione): proprietà GruopName (di solito impostata in fase di progettazione): consente di individuare (a parità di valore) gli insiemi di opzioni mutuamente esclusive; proprietà Value che rappresenta lo stato del bottone di opzione (True se selezionato False altrimenti).
- Oggetto CheckBox (Casella di Controllo): proprietà Value che rappresenta lo stato del check box (True se selezionato False altrimenti).
- Oggetto ScrollBar (Barra di Scorrimento): proprietà Max che rappresenta il valore massimo associato alla scrollbar; proprietà Min che rappresenta il valore minimo associato alla scrollbar; proprietà Value che rappresenta il valore attuale della scroll bar (dato dal posizionamento del cursore nella scrollbar).
- Oggetto CommandButton (Pulsante di Comando): proprietà Caption che rappresenta il contenuto (testo) del bottone.
- Oggetto Timer: usando il metodo Application.OnTime è possibile simulare la presenza di un oggetto timer: vedere la relativa documentazione. Ad esempio con l’istruzione: Application.OnTime Now() + TimeValue("00.00.05"), "ApriDialogo" si manda in esecuzione la routine “ApriDialogo” dopo 5 secondi (dall’istante dell’esecuzione dell’istruzione precedente); “ApriDialogo” deve essere definita in un modulo globale.
- Si ricordi infine che per modificare le caratteristiche di un oggetto occorre fare click con il pulsante destro del mouse sull’oggetto stesso (in modalità disegno) e scegliere una voce dal menù o agire sui marker.
- NB E’ possibile agire sulle proprietà e sui metodi di un controllo attraverso la seguente sintassi: OggettoWorkSheet.OLEObjects(“NomeOggetto”).Object.metpro.
- Se si vuole percorrere l’insieme di tutti gli oggetti del foglio elettronico occorre usare l’istruzione For Each … Next sulla collezione OLEObjects (non è possibile usare gli indici numerici per OLEObjects a causa di un baco). Si ricorda infine che risultano particolarmente importanti le seguenti proprietà (vedi documentazione): Name, Index, ProgId (di OLEObject – oggetto della collezione OLEObjects) e Count (di OLEObjects).
- 12.5 Uso dei controlli VBA in un foglio finestra.
- Per potere usare una finestra occorre innanzi tutto inserire un oggetto Form dalla finestra dell’ambiente di sviluppo del VBA con il comando Inserisci | UserForm. Compare un tracciato standard di finestra che è possibile personalizzare.E’ poi possibile cambiare il nome del foglio finestra di attraverso la finestra delle proprietà (comando Visualizza | Proprietà) quando sia selezionata l’intera form. Sempre attraverso le proprietà (ShowModal) è possibile indicare se la finestra sarà modale (finestra di dialogo) oppure no.
- Usando il comando Visualizza | Casella degli strumenti è possibile inserire oggetti sul foglio finestra. A questo punto usando le procedure descritte nel precedente paragrafo 12.4 è possibile scrivere routine di risposta agli eventi (in modo del tutto analogo a quanto si fa anche nell’ambiente di sviluppo del Visual Basic “normale”).
- Per richiamare una finestra (ad esempio dall’evento associato ad un bottone piazzato su un foglio di lavoro) occorre usare il metodo NomeFinestraDialogo.Show. Se la proprietà ShowModal è impostata a True, questo metodo apre una finestra modale: il controllo non ritorna all’applicazione finché non viene chiusa la finestra. Se la proprietà ShowModal è impostata a False, questo metodo apre una finestra non modale: il controllo ritorna all’applicazione immediatamente dopo avere creato il form ed è possibile passare dal form al foglio elettronico e viceversa durante il periodo in cui il form rimane visualizzato.
- All’interno del codice è possibile fare riferimento ai metodi ed alle proprietà degli oggetti posti su di un foglio finestra tramite la sintassi: nomefd.nomeogg.metpro dove nomefd è il nome della finestra, nomeogg rappresenta il nome dell’oggetto e metpro rappresenta il metodo o proprietà dell’oggetto (diverso a seconda del tipo di oggetto). E’ anche possibile (stando all’interno della stessa finestra) usare la sintassi abbreviata nomeogg.metro.
- E’ anche possibile, solo dall’interno del codice del foglio finestra, usare la sintassi nomefd.Controls(“nomeogg”).metpro.
- Es. FinDia.Label1.Caption o FinDia.Controls(“Label1”).Caption.
- Anche qui, come al paragrafo precedente, il nome dell’oggetto viene desunto dalla finestra Proprietà.
- Per quanto riguarda i metodi e le proprietà degli oggetti, vale lo stesso identico discorso riportato al paragrafo 12.4 (a cui si rimanda). Qui ci limitiamo a riportare un paio di note che distinguono il caso della finestra dal foglio di lavoro riguardo agli oggetti.
- E’ possibile usare l’istruzione Unload nomefd (dove nomefd è il nome della finestra) per scaricare (chiudere) la finestra menzionata.
- E’ ovviamente possibile scambiare dati con il foglio elettronico (usando il modello ad oggetti di Excel).
- E’ possibile in maniera naturale definire le azioni da eseguire all’atto del caricamento (evento Initialize) e dello scaricamento (Evento Terminate o QueryClose) di una finestra così come è possibile definire variabili globali all’intera finestra.
- 12.6 Assegnazione del codice ad eventi particolari.
- Per assegnare una macro ad eventi particolari per l’applicazione che contiene la cartella di lavoro (es. passaggio di un certo intervallo di tempo) occorre assegnare la stringa corrispondente al nome della procedura di risposta (che deve essere memorizzata in un modulo come oggetto Public) ad opportune proprietà di evento (di solito dell’oggetto Application). Per maggiori informazioni sugli eventi che è possibile gestire in tale modo e sulle relative proprietà consultare la guida.
- Per assegnare codice di risposta al ricalcolo di un certo foglio elettronico occorre andare nell’ambiente di sviluppo del VBA, selezionare il foglio di lavoro desiderato nella finestra degli oggetti dell’applicazione e selezionare la finestra di codice. A questo punto si seleziona l’oggetto WorkSheet e l’evento Calculate e si scrive il codice di risposta all’evento.
- Per assegnare codice di risposta al caricamento (apertura) o scaricamento (chiusura) di una cartella di lavoro occorre andare nell’ambiente di sviluppo del VBA, selezionare la cartella di lavoro desiderata nella finestra degli oggetti dell’applicazione e selezionare la finestra di codice. A questo punto si seleziona l’oggetto ThisWorkBook e l’evento Open (per l’apertura) o BeforeClose (per la chiusura) e si scrive il codice di risposta all’evento.
- In modo analogo è possibile gestire la risposta a diversi eventi per l’intera cartella di lavoro o per un particolare foglio di lavoro.
- 12.7 Gli oggetti DAO e l’interazione con i database (Access).
- NB Per lavorare tramite DAO su un database recente (Office 2007 o Office 2010) è necessario convertirlo nel formato Office 2000-2003 tramite gli opportuni comandi di Access.
- In Excel è possibile utilizzare gli oggetti DAO (Data Access Objects) per accedere a database (di solito Access). Questo fornisce una alternativa all’uso di strumenti come quelli descritti ai paragrafi 10.10 e 10.11 che consentivano appunto l’interazione con database.
- L’uso degli oggetti DAO avviene a livello di codifica, quindi quanto viene ora esposto è relativo al codice che si può scrivere in risposta ad un evento o in un modulo.
- Per potere usare DAO occorre prima di tutto includere Microsoft DAO … (3.6) con il comando Strumenti | Riferimenti. Gli oggetti, i metodi e le proprietà di DAO si possono poi ricavare con il visualizzatore di oggetti dal menù Visualizza | Visualizzatore Oggetti.
- A questo punto si possono definire, principalmente, oggetti di tipo Database (che rappresenta un database) e oggetti di tipo Recordset (che rappresenta tabelle, query, ecc.).
- Per aprire un database si può usare una istruzione della forma Set vardatabase = OpenDatabase(DbName, Exclusive, ReadOnly). In tale sintassi vardatabase rappresenta una variabile di tipo Database, DbName rappresenta il pathname del database, ReadOnly può essere true o false ad indicare se il database è aperto in sola lettura o meno, Exclusive può essere true o false ad indicare se l’accesso al database è esclusivo o meno. OpenDatabase è un metodo dell’oggetto radice di DAO, DBEngine (o del suo Workspace di default: DBEngine.Workspaces(0)). A livello di DBEngine o meglio del suo Workspace di default è possibile usare le transazioni (metodi BeginTrans, CommitTrans, Rollback). Per chiudere un database si usa il metodo Close; conviene anche assegnare il valore Nothing alla variabile database.
- Per aprire un recordset (tipicamente tabella o query) si usa il metodo OpenRecordset dell’oggetto Database; una sintassi semplificata (per quella completa vedere la guida in linea) è la seguente: Set rsName = DbName.OpenRecordset(NomeRecordset). In tale sintassi rsName è una variabile di tipo Recordset, DbName è una variabile di tipo Database e la variabile NomeRecordset è il nome della tabella/query (o la query SQL) da aprire.
- A questo punto si possono usare proprietà e metodi tipici di un recordset: MoveFirst, EOF, Fields, MoveNext, Edit, Update, AddNew, Delete, MoveLast, ecc. ecc. (vedere la guida o il visualizzatore di oggetti). Per chiudere un recordset si usa il metodo Close; conviene anche assegnare il valore Nothing alla variabile recordset.
- 12.7.1 Gli oggetti ADO e l’interazione con i database (Access).
- NB E’ possibile lavorare direttamente su un database recente (Office 2007 o Office 2010) ma usando ADO al posto di DAO.
- In Excel è possibile utilizzare gli oggetti ADO (ActiveX Data Objects) per accedere a database (di solito Access). Questo fornisce una alternativa all’uso di strumenti come quelli descritti ai paragrafi 10.10 e 10.11 che consentivano appunto l’interazione con database.
- L’uso degli oggetti ADO avviene a livello di codifica, quindi quanto viene ora esposto è relativo al codice che si può scrivere in risposta ad un evento o in un modulo.
- Per potere usare ADO occorre prima di tutto includere Microsoft ActiveX Data Objects … (2.8) con il comando Strumenti | Riferimenti. Gli oggetti, i metodi e le proprietà di ADO (ADODB) si possono poi ricavare con il visualizzatore di oggetti dal menù Visualizza | Visualizzatore Oggetti.
- A questo punto si possono definire, principalmente, oggetti di tipo ADODB.Connection (che rappresenta un database o meglio una connessione a un database) e oggetti di tipo ADODB.Recordset (che rappresenta tabelle, query, ecc.).
- Per aprire un database si può usare una istruzione della forma:
- vardatabase.Open strConn
- In tale sintassi vardatabase rappresenta una variabile di tipo ADODB.Connection, e strConn è un stringa di connessione che deve avere la forma:
- "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=DbName;Persist Security Info=False"
- dove DbName rappresenta il pathname del database. Prima dell’uso dell’istruzione Open del database (connessione) è necessario creare l’oggetto connessione (database) vardatabase con una istruzione del tipo:
- Set vardatabase = New ADODB.Connection
- Sulla variabile database (connessione) è possibile usare le transazioni (metodi BeginTrans, CommitTrans, RollbackTrans). Per chiudere un database si usa il metodo Close; conviene anche assegnare il valore Nothing alla variabile database.
- Per aprire un recordset (tipicamente tabella o query) si usa il metodo Open dell’oggetto ADODB.Recordset. Prima di usare tale metodo occorre creare l’oggetto recordset con una istruzione del tipo:
- Set rsName = New ADODB.Recordset
- In tale sintassi rsName è una variabile di tipo ADODB.Recordset.
- Una sintassi semplificata (per quella completa vedere la guida in linea) del metodo Open è la seguente:
- rsName.Open NomeRecordset, vardatabase, adOpenDynamic, adLockOptimistic
- In tale sintassi rsName è una variabile di tipo ADODB.Recordset, vardatabase è una variabile di tipo Database (connessione ADODB.Connection) e la variabile NomeRecordset è il nome della tabella/query (o la query SQL) da aprire.
- A questo punto si possono usare proprietà e metodi tipici di un recordset (analoghe a quelle del DAO viste in precedenza): MoveFirst, EOF, Fields, MoveNext, Update, AddNew, Delete, MoveLast, ecc. ecc. (vedere la guida o il visualizzatore di oggetti). Si osservi che non è necessario (non esiste) il metodo Edit: si possono cominciare direttamente a modificare i campi (Fields) del recordset se questo è aperto (come nel nostro caso) in modo da potere essere modificato. Per chiudere un recordset si usa il metodo Close; conviene anche assegnare il valore Nothing alla variabile recordset.
- 12.8 I menù personalizzati in Excel.
- Descriviamo la personalizzazione dei menù di Excel attraverso due procedure esemplificative (ma abbastanza generali): una per il menù principale dell’applicativo e l’altra per i menù PopUp.
- 12.8.1 Aggiunta o eliminazione di voci nel menù principale (ribbon – nastro) di Excel.
In questa nuova versione di Excel è possibile aggiungere voci di menù (bottoni) tipicamente solo all’interno della voce di menù Aggiunte (Add-ins). A tali voci di menù (bottoni) è poi possibile associare del codice eseguibile (tipicamente una procedura scritta in un modulo). Le voci di menù così create possono poi essere rimosse.
Il codice riportato qui sotto illustra come creare (quando l’utente fa click sul bottone CommandButton1 posto sul foglio di lavoro) una nuova voce di menù (in realtà un bottone di comando sul ribbon) al quale viene associata la procedura Menu111 attivata all’atto del click sul bottone:
Private Sub CommandButton1_Click()
Dim myCB As CommandBar
Dim myCBtn1 As CommandBarButton
Set myCB = CommandBars.Add("example1", msoBarFloating)
Set myCBtn1 = myCB.Controls.Add(msoControlButton)
With myCBtn1
.Caption = "Click me!"
.Style = msoButtonIconAndCaption
.Picture=LoadPicture("C:\Programmi\Microsoft Office\OFFICE11\IMAGES\UNDERCON.GIF")
.OnAction = "MMenu111"
End With
myCB.Visible = True
End Sub
Nel precedente codice viene creato l’oggetto bottone a cui si da una certa intestazione (proprietà Caption) e una certa immagine (proprietà Picture). Viene impostato lo stile della voce di menù con la proprietà Style (in questo caso si tratta di un bottone con titolo e immagine). La barra di menù viene poi visualizzata a True la proprietà Visible. L’ultima istruzione del blocco with infine è quella che associa al click sul bottone l’esecuzione della procedura Menu111 definita in un modulo.
Il codice successivo elimina le voci di menù create in precedenza come voci aggiuntive (anche questo codice è associato ad un bottone posto sul foglio di lavoro):
Private Sub CommandButton2_Click()
On Error Resume Next
Application.CommandBars("example1").Delete
End Sub
In realtà tipicamente la creazione di voci aggiuntive verrà eseguita all’atto dell’apertura di una cartella di lavoro e quindi all’interno del seguente evento:
- Private Sub Workbook_Open()
- …………
- End Sub
All’atto della chiusura della cartella conviene ripristinare il menù standard eliminando gli eventuali menù creati aprendo la cartella di lavoro:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
…………
End Sub
12.8.2 Creazione ed uso di menù PopUp.
La creazione e l’uso di menù PopUp avviene tipicamente mediante l’uso esclusivo di codice Visual Basic. Per potere usare (su di un foglio di lavoro) un menù PopUp personalizzato si possono seguire i successivi passi:
Creazione del menù PopUp: questo avviene di solito all’atto dell’apertura della cartella di lavoro (evento Workbook_Open) con l’uso delle seguenti istruzioni (le parti in neretto sono “personalizzabili”):
- Una istruzione Set PopUp = Application.CommandBars.Add("Nome Menù", msoBarPopup) per creare il menù PopUp.
- Una serie di istruzioni del tipo Set Voce = PopUp.Controls.Add per aggiungere una voce di menù.
- Una serie di istruzioni del tipo Voce.Caption = "Caption del menù” per modificare il caption della voce di menù.
- Una serie di istruzioni del tipo Voce.OnAction = "routine risposta” per assegnare la routine (di solito definita Public in un modulo) da eseguire quando si sceglie la voce di menù.
- Con istruzioni tipo Set Sottomenu = PopUp.Controls.Add(Type:=msoControlPopup) si possono aggiungere dei sottomenù ai quali attribuire un caption (con istruzioni tipo Sottomenu.Caption = "Caption del menù") e per i quali creare sottovoci (con istruzioni tipo Set Voce = Sottomenu.Controls.Add). Alle sottovoci così create è poi possibile assegnare un caption ed una routine di risposta evento come già indicato sopra per le voci.
- Naturalmente è possibile usare diversi altri metodi e proprietà per raffinare il processo di personalizzazione di menù PopUp.
- Uso del menù PopUp: questo avviene di solito all’atto del click con il bottone destro su un certo foglio (rispondendo all’evento Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) presente in ogni foglio) con l’uso delle seguenti istruzioni (le parti in neretto sono “personalizzabili”):
- Una istruzione Set PopUp = Application.CommandBars("Nome Menù") per ottenere un riferimento al menù PopUp.
- Una istruzione del tipo PopUp.ShowPopup per visualizzare il menù PopUp.
- Una istruzione Cancel = True per inibire la visualizzazione del menù di scelta rapida di default.
- Eliminazione del menù PopUp: questo avviene di solito all’atto della chiusura della cartella di lavoro (evento Workbook_BeforeClose) con l’uso delle seguenti istruzioni (le parti in neretto sono “personalizzabili”):
- Una istruzione Application.CommandBars("Nome Menù").Delete per eliminare il menù PopUp.
- 12.9 La registrazione delle macro.
Quando si voglia vedere come eseguire automaticamente una certa operazione usando codice VBA è possibile usare la seguente procedura:
- Si da il comando Sviluppatore | Codice | Registra macro compilando in maniera intuitiva la successiva finestra di dialogo; a questo punto compare la voce Interrompi macro al posto di Registra macro che serve per interrompere la registrazione della macro.
- Si eseguono manualmente le operazioni che si desidera successivamente eseguire in automatico.
- Si interrompe la registrazione della macro (con la voce comparsa in precedenza).
- Si va a cercare nella finestra di codice, all’interno dei moduli, il nome della procedura corrispondente a quello che si è dichiarato inizialmente come nome della macro. A questo punto è possibile vedere ed eventualmente usare il risultato prodotto.
- 13. Altre funzionalità di Office 2010.
- Elenchiamo tra le nuove funzionalità le seguenti in quanto particolarmente significative:
- La possibilità di salvare (e quindi aprire) un file Excel in formato XML (di office 2003) scegliendo l’opportuno formato nella finestra File | Salva come.
- La possibilità di inserire diagrammi (da non confondersi con i grafici) con il comando Inserisci | Grafici | SmartArt (Diagramma).
- ESERCITAZIONE DI PROGRAMMAZIONE VBA IN EXCEL (DI OFFICE 2010 – BETA 2)
Premessa: per potere svolgere l’esercitazione occorre avere ben presente la struttura degli indirizzi Excel anche in presenza di documenti esterni. La struttura generale è la seguente:
- ‘PathnameDirettorio\[NomeCartella.XLSM]NomeFoglio’!IndirizzoLocale
- ad esempio: ‘C:\AB\[PROVA.XLSM]Foglio1’!$A$1.
- Una alternativa valida all’interno della stessa cartella è la seguente:
- NomeFoglio!IndirizzoLocale
- ed esempio: Foglio1!A1.
- Testo dell’esercizio (Economia Aziendale): Si costruisca una cartella di lavoro MAGAZ contenente:
- I dati degli articoli di magazzino: codice, descrizione, scorta di sicurezza.
- I dati del giornale di magazzino: data operazione, codice articolo movimentato, descrizione articolo (presa dalla descrizione degli articoli), segno dell’operazione, quantità (di carico o scarico) dell’operazione.
- Si costruisca poi un’altra cartella SCHEMAGA contenente i dati di una scheda di magazzino come segue:
- Intestazione: Codice articolo (dato dall’utente), descrizione articolo, scorta di sicurezza, giacenza attuale (queste ultime tre informazioni devono essere generate automaticamente).
- Parte tabellare; per ogni operazione sull’articolo occorre riportare: data, descrizione articolo, segno operazione, quantità, giacenza dopo l’operazione. Queste informazioni devono essere determinate automaticamente (tramite procedure scritte in VBA) da eseguirsi ogni volta che l’utente inserisce un nuovo codice oppure a richiesta tramite la pressione di un pulsante.
Presentare: Tracciati video (stampato Excel) - Individuazione degli eventi - Descrizione in italiano degli eventi (pseudocodifica) - Codifica VBA - Un caso prova significativo - Lo stampato delle formule (con commenti).
Tempo a disposizione: massimo 12 ore.
Fonte: http://digilander.libero.it/ballardinig/CartDispense/Excel2010.doc
Autore del testo: Giovanni Ballardini
Excel 2010 formule guida esercitazioni
ESERCITAZIONE TIPO PROBLEM SOLVING SU EXCEL 2010 (BETA)
1. PREMESSA.
Il presente testo è una raccolta di esercizi (di tipo problem solving) che ripercorrono (anche come paragrafi) la struttura della dispensa introduttiva su Excel 2010. Alcuni esercizi sono banali altri più difficili. Lo schema di svolgimento di ogni esercizio dovrebbe essere il seguente:
- Provare a risolvere l’esercizio con le conoscenze di cui si dispone (seguendo l’intuito)
- Se ci sono problemi provare a cercare risposte sulla guida in linea
- Se ci sono problemi provare a consultare le dispense (o il materiale comunque fornito)
- Se ci sono ulteriori problemi consultare l’insegnante
Per ogni esercitazione nella quale non sia esplicitamente prescritto qualcosa di diverso consegnare:
- Lo stampato di un caso prova significativo ed il più possibile completo dello svolgimento dell’esercizio.
- Lo stampato opportunamente commentato delle eventuali formule del modello.
2. UTILIZZO FOGLIO ELETTRONICO.
- Fare partire l’applicativo Excel 2010 e quindi chiuderlo.
3. BREVE DESCRIZIONE DELLE ZONE.
- Osservare la struttura delle finestre dell’applicativo Excel e quindi: aprire tutti i menù (ribbon), individuare il significato di tutti i bottoni (ed annotarli su un foglio da consegnare), scrivere e modificare formule e dati in una cella del foglio attraverso la barra delle formule, passare da un foglio ad un altro.
- 4. MODALITA' DI LAVORO SUL FOGLIO ELETTRONICO.
- Scrivere all’interno di diverse celle del foglio elettronico: un numero, un altro numero, una formula, una etichetta, un numero che sia considerato come se fosse una etichetta.
- 5. ESEMPI.
- Fare la somma di due numeri contenuti nelle celle A1 ed A2 e portare il risultato nella cella A3.
- Bilancio familiare: per tale esempio occorrono le seguenti formule: + per sommare; - per la sottrazione; =somma(lista valori) per sommare una lista di valori. Lo svolgimento dell'esempio dovrebbe chiarire molto bene i concetti di indirizzamento assoluto ($) e di indirizzamento relativo: infatti le formula delle colonne C e D vanno ottenute dalla colonna B tramite copia; inoltre occorre introdurre la spesa fissa ed i relativi indirizzi assoluti in un secondo tempo (cioè dopo avere mostrato l’intero bilancio per tre mesi senza spesa fissa). Si richiede di ottenere un prospetto come il seguente dove al posto dei punti di domanda vanno scritte in maniera opportuna le formule:
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
||||
|
|
|
- Per ognuno dei precedenti esercizi produrre uno stampato dei risultati e uno delle formule.
- 6. OPERAZIONI CON I TASTI FUNZIONE.
- Usare i tasti funzione per: richiamare l’help di Excel, modificare un dato inserito in modo errato, cambiare ciclicamente il tipo di indirizzo di cella (relativo -> assoluto -> riga assoluta -> colonna assoluta), saltare ad una determinata cella, ricalcolare in maniera manuale tutte le formule, convertire una formula nel suo valore.
7. I COMANDI DEL MENU'.
- Spostare il bilancio familiare di cui sopra nelle colonne E, F, G, H e poi riportarlo al suo posto.
- Salvare il foglio del bilancio familiare e uscire da Excel.
- Rientrare in Excel e caricare il foglio del bilancio familiare.
- Stampare (e consegnare se non è già stato fatto in precedenza) risultati e formule del bilancio familiare. Stampare (e consegnare) le formule del bilancio familiare dopo averle trasferite in Word e dopo averle opportunamente commentate (in Word).
- Cancellare i dati (non le formule) del bilancio familiare e quindi caricare dei nuovi valori.
- Aumentare la larghezza della colonna delle descrizioni in modo da potere fornire descrizioni più lunghe; volendo aumentare l’altezza della riga di intestazione del bilancio familiare per potere usare un font più grosso.
- Inserire una nuova voce di spesa tra vitto ed alloggio nel bilancio familiare ed adattare (con il minimo sforzo possibile) il modello.
- Stampare (e consegnare) risultati e formule del bilancio familiare.
- Eliminare la colonna di febbraio del bilancio familiare ed adattare (con il minimo sforzo) il modello.
- Stampare (e consegnare) risultati e formule del bilancio familiare.
- Inserire di nuovo la colonna di febbraio nel bilancio familiare ed adattare (con il minimo sforzo) il modello.
- Stampare (e consegnare) risultati e formule del bilancio familiare.
- Eliminare la spesa aggiunta al bilancio familiare e riadattare (con il minimo sforzo) il modello.
- Stampare (e consegnare) risultati e formule del bilancio familiare.
- Eliminare i fogli non necessari dalla cartella del bilancio familiare.
- Sostituire (nel bilancio familiare) tutte le S con X.
- Stampare (e consegnare) risultati e formule del bilancio familiare.
- Sostituire (nel bilancio familiare) tutte le X con S.
- Modificare il livello di Zoom del foglio: provare 50%, 150%, quindi 100%.
- Spostare la spesa fissa nella colonna C inserendo una cella a sinistra nel bilancio familiare.
- Stampare (e consegnare) risultati e formule del bilancio familiare.
- Nel bilancio familiare cambiare il formato delle celle assegnando il formato valuta a tutte le celle che contengono importi; mettere i bordi (in maniera opportuna) intorno al modello del bilancio familiare; cambiare il motivo e/o il colore di sfondo.
- Stampare (e consegnare) risultati e formule del bilancio familiare.
- Rinominare in maniera opportuna il foglio contenente il bilancio familiare.
- Eseguire il controllo ortografico del modello.
- Usare la voce “Controllo” per vedere schematizzate le relazioni tra i dati nelle formule del bilancio familiare.
- 8. PRINCIPALI FUNZIONI EXCEL.
- Costruire una cartella chiamata Funzioni nella quale porre tutti gli esercizi successivi.
- Scrivere formule per ottenere la parte intera di un valore e per ottenere l’arrotondamento di un valore (a 2 cifre decimali, a 1 cifra decimale, all’intero, alle decine, alle centinaia).
- Calcolare la radice quadrata di un valore.
- Stampare risultati e formule degli esercizi precedenti.
- Inserire valori numerici (a caso) in un rettangolo di 5 righe e 3 colonne e fornire formule per calcolare la somma e la media dei valori caricati.
- Stampare risultati e formule degli esercizi precedenti.
- Fino a 100 Km/h non si paga multa, tra 100 e 110 Km/h si paga € 100 di multa, tra 110 e 120 Km/h si paga € 500 di multa, oltre i 120 Km/h si pagano € 5.000 di multa e scatta il ritiro della patente. Scrivere una formula che data in ingresso la velocità fornisca l’importo della multa. Scrivere inoltre una formula che avvisi dell’eventuale ritiro di patente.
- Stampare risultati e formule degli esercizi precedenti.
- Costruire una tabella (numerica) di 10 righe e 7 colonne. Costruire una formula che forniti l’indice di riga e di colonna produca in uscita (in ogni istante) il valore della tabella che si trova all’intersezione della riga e della colonna specificati.
- Stampare risultati e formule degli esercizi precedenti.
- Scrivere un elenco composto da DATA e SALDO: scrivere formule per calcolare (dato un tasso di interesse) gli interessi maturati tra la prima e l’ultima data in elenco.
- Stampare risultati e formule degli esercizi precedenti.
- Scrivere un elenco contenente CAP e CITTA’ e scrivere una formula che, fornito un CAP produca in uscita il nome della città corrispondente (ed una opportuna segnalazione se il CAP non esiste).
- Scrivere una tabella contenente un elenco in cui nella prima colonna vi è il limite inferiore (in Km) per l’applicazione di una certa tariffa e nella seconda colonna il valore della tariffa. Costruire una formula che consenta, fornito in ingresso il numero di Km di fornire in uscita la tariffa da pagare.
- Stampare risultati e formule degli esercizi precedenti.
- Costruire una tabella di verità relativa a tre eventi (A, B, C) che produca in uscita il valore della formula booleana (A Or Not(B)) And C.
- Costruire una formula che, fornita in ingresso una data produca in uscita, separatamente anno, mese e giorno.
- Costruire una formula che ad ogni ricalcolo del foglio produca in uscita un nuovo numero casuale.
- Stampare risultati e formule degli esercizi precedenti.
- Scrivere, in colonna, un elenco di parole. Scrivere una formula che costruisca una nuova parola formata concatenando la porzione di ciascuna delle parole in elenco che si ottiene a partire da un certo carattere di cui è data la posizione e per una lunghezza pari alla lunghezza di una parola campione fornita in ingresso. Se ad esempio l’elenco è formato dalle parole: farfalla, montagna e temporale e se il carattere di inizio è 4 e se la parola campione è XX il risultato dovrà essere fatapo.
- Scrivere una frase in una cella, una stringa della frase in un’altra ed un’altra stringa ancora in un’altra cella. Costruire una formula che sostituisca nella frase la prima stringa con la seconda (ad ogni occorrenza).
- Stampare risultati e formule degli esercizi precedenti.
- Scrivere una tabella che mostri, per una serie di valori a partire da un valore fornito e secondo un certo intervallo sempre fornito, la tabulazione delle funzioni esponenziale e logaritmo.
- Caricare due matrici 3x3 di numeri e scrivere formule per calcolare: il determinante della prima matrice, la matrice inversa della prima matrice, il prodotto righe per colonne delle due matrici, la matrice trasposta della prima matrice.
- Forniti due vettori colonna di valori scrivere una formula per il prodotto scalare dei due.
- Stampare risultati e formule degli esercizi precedenti.
- Forniti una serie di valori (non necessariamente distinti) scrivere formule per produrre quanto segue: il valore massimo e il valore minimo, la mediana, la moda (cioè il valore più ricorrente) della zona.
- Stampare risultati e formule degli esercizi precedenti.
- Scrivere un numero come etichetta in una zona, convertirlo in valore in un’altra cella e convertire quest’ultimo di nuovo in testo attribuendogli formato “valuta”.
- Stampare risultati e formule degli esercizi precedenti.
- Usando le opportune formule per la rata e la quota interessi produrre in uscita il piano di ammortamento a rate costanti di un debito in 10 anni (periodi).
- Stampare risultati e formule degli esercizi precedenti.
9. I GRAFICI IN EXCEL.
- Si carichino nella zona A1:A20 i valori da -9 a 10 con passo 1. Si carichino nella zona B1:B20 le formule necessarie per costruire la funzione x^2-5x+2 dove x sono i valori della zona A1:A20. Si costruisca, in maniera opportuna, un grafico per i dati.
- Spostare e ridimensionare il grafico sul foglio.
- Provare a cambiare la scala (dell’asse X e Y).
- Aggiungere (se non sono presenti) il titolo del grafico e degli assi.
- Provare a cambiare il tipo di grafico nell’ambito di quelli ragionevoli per i dati di ingresso.
- Provare a inserire e togliere le griglie.
- Stampare risultati, grafico e formule degli esercizi precedenti.
- Nella zona A1:K11 si scriva in maniera opportuna la tabellina per i numeri da 1 a 10. La prima riga e la prima colonna sono intestazioni che contengono i numeri da 1 a 10. In ogni altra cella è presente il prodotto tra l'intestazione di riga e l'intestazione di colonna. Si costruisca in maniera opportuna un grafico per i dati.
- Spostare e ridimensionare il grafico sul foglio.
- Provare a cambiare la scala (dell’asse X, Y e Z).
- Aggiungere (se non sono presenti) il titolo del grafico e degli assi.
- Provare a cambiare il tipo di grafico nell’ambito di quelli ragionevoli per i dati di ingresso.
- Provare a inserire e togliere le griglie.
- Provare a modificare la visualizzazione 3D del grafico.
- Stampare risultati, grafico e formule degli esercizi precedenti.
10. LA FUNZIONE DATA BASE DI EXCEL.
10.1 Le operazioni di filtro dei dati.
10.1.1 Le operazioni di filtro avanzato.
- Predisponiamo un archivio con 3 campi che chiamiamo rispettivamente CA, CB, CC. Il campo CA conterrà una anagrafica, il campo CB un numero (possiamo pensare che sia l'importo a debito di un cliente) ed il campo CC conterrà un tipo (possiamo immaginare che sia il tipo del cliente). Mettiamo queste informazioni nelle prime tre colonne del foglio elettronico: la prima riga dovrà sempre contenere i nomi di campo. Avremo dunque la seguente situazione nelle prime tre colonne (A, B, C) del foglio elettronico:
1 CA CB CC
2 aaaaa 150 ta
3 abaaa 219 tb
4 acaaa 230 tc
5 aaaaa 70 ta
6 aaaaa 280 tb
7 abcde 12 ta
8 ttttaaa 33 ta
9 tttt 66 tc
10 tttt 89 tc
- Cercare tutti i record con CA="aaaaa".
- Cercare tutti i record in cui il campo CA contiene una stringa che inizia per "a".
- Cercare tutti i record in cui il campo CA contiene una stringa che inizia per "t" e della lunghezza di 4 caratteri.
- Cercare tutti i record che hanno nel campo CA una stringa di 4 caratteri che inizia con "t" e che hanno (contemporaneamente) "tc" nel campo CC.
- Cercare tutti i record che hanno campo CA che inizia per "t" e che hanno campo CC che è formato da due caratteri di cui il secondo è una c (ed il primo una lettera qualsiasi).
- Cercare tutti i record che hanno campo CB con importo compreso tra 200 e 250 (estremi esclusi).
10.1.2 Le operazioni di filtro automatico.
Considerando i dati dell’esercizio del paragrafo 10.1.1 svolgere i seguenti esercizi:
- Creare un filtro automatico sui dati.
- Eliminare l’opzione di filtro automatico.
- Creare di nuovo un filtro automatico sui dati.
- Filtrare i dati: scegliere il valore desiderato in uno o più dei combo box associati ai nomi di campo per imporre la o le condizioni di filtro. Ripristinare la visualizzazione di tutte le righe nascoste dai filtri attualmente in vigore.
10.2 La funzione di ordinamento.
- Si consideri un elenco di nomi e cognomi caricati rispettivamente nelle colonne B ed A del foglio elettronico (a partire dalla riga 1). Nella colonna C si indichi la data di nascita. Ci poniamo il problema di ordinare questi dati per anagrafica (a parità di cognome l'ordinamento va fatto sul nome). Possiamo avere la seguente situazione:
A B C
dddd aaaa 22/07/73
eeee mmmm 23/07/75
eeee aaaa 24/01/66
aaaa zzzz 02/03/34
aaaa bbbb 03/04/72
aaaa aaaa 05/06/75
mmmm cccc 07/07/89
bbbb bbbb 03/03/82
- 10.3 I moduli di dati.
- Con riferimento all’elenco del paragrafo 10.1.1, richiamare il comando che mostra una finestra di dialogo contenente una maschera che consente di visualizzare, inserire, modificare e cancellare i dati di ogni singola riga (record) del database.
- 10.4 La funzione Subtotale.
- Con riferimento all’elenco del paragrafo 10.2, aggiungere una riga di intestazione e aggiungere una colonna di importi e, selezionata la zona che contiene l’elenco richiamare il comando per ottenere i Subtotali. Usare il combo box “Ad ogni cambiamento in” per scegliere il campo (A) dell’elenco i cui cambiamenti determinano i raggruppamenti in base a cui determinare i subtotali (verrà poi inserito anche un totale generale). Barrare il campo importo in “Aggiungi subtotali a”. Confermare le scelte.
- 10.5 La funzione Testo in colonne.
- Scrivere i dati delle tre colonne dell’esercizio del paragrafo 10.2 in una unica colonna (A) separando i dati di ogni campo con 4 spazi. Considerare il testo precedente che si trova in un’unica colonna e dividerlo in più colonne. Tipicamente la divisione sarà effettuata automaticamente in base alla dimensione fissa (in caratteri) che si vuole dare alle colonne. La separazione viene guidata da una serie di finestre di dialogo.
- 10.6 La funzione di Consolidamento.
- Si considerino 3 fogli di una stessa cartella. In ciascuno si scriva una tabella di 4 righe (le zone 1,2,3,4) e 3 colonne (gli agenti A,B,C) dove si pongono gli importi delle vendite. Ogni foglio è relativo ad un mese. Usare la funzione di consolidamento per produrre la situazione complessiva dei tre mesi.
- 10.8 La funzione di estrazione dati.
- Usare la funzione di estrazione dati per caricare in un foglio elettronico il contenuto della tabella Categorie del database di Access 2003 di nome Northwind (è tra gli esempi - samples).
- Una volta che si è eseguita la procedura precedente modificare alcune descrizioni della tabella Categorie (occhio poi a ripristinare i valori originali) e quindi provocare l’aggiornamento dei dati nel foglio elettronico.
10.9 La tabella Pivot.
- Si consideri la seguente tabella di dati da caricare in una zona di un foglio elettronico (la tabella contiene un elenco delle quantità vendute da diversi agenti in diverse zone in determinati periodi):
PROGR |
AGENTE |
ZONA |
PERIODO |
QUANTITA' |
1 |
a |
X |
1 |
100 |
2 |
b |
Z |
2 |
1150 |
3 |
b |
Y |
1 |
150 |
4 |
c |
Z |
1 |
200 |
5 |
d |
Z |
2 |
250 |
6 |
a |
Y |
2 |
300 |
7 |
b |
X |
2 |
350 |
8 |
c |
X |
3 |
400 |
9 |
d |
Y |
3 |
450 |
10 |
a |
Z |
3 |
500 |
11 |
b |
Z |
1 |
550 |
12 |
c |
Y |
1 |
600 |
13 |
d |
Z |
3 |
850 |
14 |
d |
X |
1 |
650 |
15 |
a |
X |
2 |
700 |
16 |
a |
X |
1 |
750 |
17 |
c |
Z |
2 |
800 |
18 |
b |
Y |
1 |
1300 |
19 |
b |
X |
3 |
950 |
20 |
c |
X |
1 |
1000 |
21 |
d |
Y |
1 |
1050 |
22 |
a |
Z |
1 |
1100 |
23 |
a |
Y |
3 |
900 |
24 |
b |
Y |
1 |
1200 |
25 |
b |
Y |
1 |
1250 |
- Costruire una tabella Pivot raggruppando i dati precedenti in base all’agente ed a parità di agente per zona sulle righe, in base al periodo sulle colonne, per ottenere come dato la somma delle quantità vendute.
- Modificare i dati originali e aggiornare la tabella Pivot.
- Per il campo della zona dati (somma delle quantità) specificare di svolgere calcoli personalizzati: calcolare una discordanza o una discordanza percentuale dell’elemento attuale rispetto al valore corrispondente del precedente raggruppamento.
- 10.10 Le maschere Access.
- Accettando di non potere eseguire inserimenti (in più sessioni di lavoro) e annullamenti tramite maschere Access è possibile usare le medesime per gestire l’elenco di dati di cui al paragrafo 10.1.1 o 10.2 o 10.9. Produrre uno stampato di una pagina della maschera Access generata.
10.11 I Report di Access.
- Creare un report Access per stampare i dati dell’elenco di cui al paragrafo 10.1.1 o 10.2 o 10.9. NB L’aggiunta di righe in fondo crea problemi (come pure l’eliminazione dalla coda).
11. COMPLEMENTI DI EXCEL.
11.1 La ricerca obiettivo.
- Risolvere l’equazione X Log(X) = 3
- 11.2 Il risolutore.
- Risolvere problema di programmazione lineare seguente:
Massimizzare la funzione obiettivo: 3 X1 – X2
Vincoli:
3 X1 + 5 X2 <= 3000
5 X1 + 4 X2 >= 1500
3 X1 + 2 X2 <= 2100
X1 >= 0
X2 >= 0
12. ESERCITAZIONE DI PROGRAMMAZIONE VBA (VERSIONE 2010).
Premessa: per potere svolgere l’esercitazione occorre avere ben presente la struttura degli indirizzi Excel anche in presenza di documenti esterni. La struttura generale è la seguente:
- ‘PathnameDirettorio\[NomeCartella.XLSM]NomeFoglio’!IndirizzoLocale
- ad esempio: ‘C:\AB\[PROVA.XLSM]Foglio1’!$A$1.
- Una alternativa valida all’interno della stessa cartella è la seguente:
- NomeFoglio!IndirizzoLocale
- ed esempio: Foglio1!A1.
- Testo dell’esercizio (Economia Aziendale): Si costruisca una cartella di lavoro MAGAZ contenente:
- I dati degli articoli di magazzino: codice, descrizione, scorta di sicurezza.
- I dati del giornale di magazzino: data operazione, codice articolo movimentato, descrizione articolo (presa dalla descrizione degli articoli), segno dell’operazione, quantità (di carico o scarico) dell’operazione.
- Si costruisca poi un’altra cartella SCHEMAGA contenente i dati di una scheda di magazzino come segue:
- Intestazione: Codice articolo (dato dall’utente), descrizione articolo, scorta di sicurezza, giacenza attuale (queste ultime tre informazioni devono essere generate automaticamente).
- Parte tabellare; per ogni operazione sull’articolo occorre riportare: data, descrizione articolo, segno operazione, quantità, giacenza dopo l’operazione. Queste informazioni devono essere determinate automaticamente (tramite procedure scritte in VBA) da eseguirsi ogni volta che l’utente inserisce un nuovo codice oppure a richiesta tramite la pressione di un pulsante.
Presentare: Tracciati video (stampato Excel) - Individuazione degli eventi - Descrizione in italiano degli eventi (pseudocodifica) - Codifica VBA - Un caso prova significativo - Lo stampato delle formule (con commenti).
Tempo a disposizione: massimo 12 ore.
Fonte: http://digilander.libero.it/ballardinig/CartDispense/Excel2010ProblemSolving.doc
Autore del testo: Giovanni Ballardini
Excel 2010 formule guida esercitazioni
Visita la nostra pagina principale
Excel 2010 formule guida esercitazioni
Termini d' uso e privacy