Oggetti Form e Controlli Registratore di Macro

Slides:



Advertisements
Presentazioni simili
Lez. 12 (10/11) - PBElementi di Programmazione1 Lezione 12 Esercizi.
Advertisements

UNO STRUMENTO PER INTERAGIRE CON GLI UTENTI DELLE PAGINE WEB
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Modulo 4 – Seconda Parte Foglio Elettronico
Lezione 8 Anno accademico Titolare corso: Prof. Costanza Torricelli
MODULO 4 – Il Foglio elettronico
MODULO 3 – ELABORAZIONE TESTI
Lez. 6 (10/11) - PBElementi di Programmazione1 Lezione 6 Parametri Facoltativi Matrici Matrici di parametri.
Lez. 8 (10/11) - PBElementi di Programmazione1 Lezione 8 Date Valutazione di espressioni File di testo sequenziali.
Lez. 8 (11/12) - PBElementi di Programmazione1 Lezione 8 Date Valutazione di espressioni File di testo sequenziali.
Lez. 11 (11/12) - PBElementi di Programmazione1 Lezione 11 Esercizi.
Elementi di Programmazione
Lez. 7 (10/11) - PBElementi di Programmazione1 Lezione 7 Matrici di Celle Tipi String e Date.
Lez 4 (11/12)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.
Lez. 10 (10/11) - PBElementi di Programmazione1 Lezione 10 Funzioni e Moduli Macro Analisi del flusso Esercizi.
Lez 4 (10/11)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.
Elementi di Programmazione
Lez. 5 (10/11 - PB)Elementi di Programmazione1 Lezione 5 Procedure Funzioni Passaggio di parametri.
Lez. 5 (11/12- PB)Elementi di Programmazione1 Lezione 5 Procedure Funzioni Passaggio di parametri.
EP 12/13 - PBLezione 21 Elementi di Programmazione Interazione con lutente Tipi di Dati.
Lez. 9 (10/11) - PBElementi di Programmazione1 Lezione 9 Oggetti Moduli e Controlli Registratore di Macro.
Lez. 11 (10/11) - PBElementi di Programmazione1 Lezione 11 Esercizi.
Lez. 6 (11/12) - PBElementi di Programmazione1 Lezione 6 Matrici Matrici di parametri.
Lez. 7 (11/12) - PBElementi di Programmazione1 Lezione 7 Tipi String e Date.
EP 11/12-PBLezione 11 Elementi di Programmazione Presentazione Corso Ambiente VBA Interazione con lutente Tipi di Dati, Variabili, Espressioni.
Lez 4 (10/11)Elementi di Programmazione1 Istruzioni per il controllo del Recupero lez.4.
1 Stampa dei dati - 1 I dati visualizzati, provenienti sia da tabelle che da query, possono essere stampati selezionando lopzione Stampa dalla voce di.
Moduli 1 In Access è possibile automatizzare diverse operazioni mediante l’utilizzo del linguaggio VBA (Visual Basic for Applications). Le istruzioni.
Laboratorio di Informatica - J. Lin Laboratorio di Informatica – A.A Lezione 3 ExcelIntroduzione.
Corso di Laurea in Ingegneria per lAmbiente e il Territorio Informatica per lAmbiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
Lezione 2 Programmare in ASP
DBMS ( Database Management System)
Lavorare in Ambiente MS Excel Le Macro di Excel
Excel Avanzato Personalizzare Excel.
Internet I moduli web. Inviare informazioni Quando si comunica nel web, si ricevono messaggi e informazioni dai siti web, ma si debbono anche inviare.
Il foglio elettronico per Economia
Inserimento dei dati Il contenuto di una cella può essere: –Un valore numerico –Una formula o funzione –Una stringa alfanumerica –Una data In questo caso.
CAPITOLO 5 Il PIL Il foglio elettronico per Economia.
EXCEL E FTP.
Elenchi in Excel E’ possibile inserire le voci del nuovo elenco oppure
13 Excel prima lezione.
Foglio elettronico Excel Livello avanzato
Excel prima lezione.
Macro 1 Una macro è un elenco denominato di istruzioni. Ciascuna istruzione viene chiamata ‘azione’. Le azioni vengono eseguite in modo sequenziale e,
Convalida dati Menù dei comandi Dati Convalida. Convalida Dati E’ utile quando si vuole utilizzare un dato prelevato da un insieme Si opera in questo.
1 Macro 1 Una macro è un elenco denominato di istruzioni. Ciascuna istruzione viene chiamata ‘azione’. Le azioni vengono eseguite in modo sequenziale e,
Lez. 10 (13/14)Elementi di Programmazione1 Lezione 10 Oggetti Moduli e Controlli.
Lz. 3 (13/14)Elementi di Programmazione1 Istruzioni (strutture) di controllo 1.
Lez. 5 (13/14)Elementi di Programmazione1 Lezione 5 Procedure.
Lez. 8 (13/14)Elementi di Programmazione1 Lezione 8 Tipi String e Date.
Microsoft Access Maschere (II).
Elementi di Programmazione
Prof. Giuseppe Boncoddo
Lezione 19 Riccardo Sama' Copyright  Riccardo Sama' Access.
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Lez 4 (13/14)Elementi di Programmazione1 Strutture di controllo 2.
Lez. 12 (13/14)Elementi di Programmazione1 Lezione 12 Esercizi.
Lez. 11 (13/14)Elementi di Programmazione1 Lezione 11 Esercizi.
Lez.6 (13/14)Elementi di Programmazione1 Lezione 6 Funzioni Passaggio di parametri.
Microsoft Access Chiavi, struttura delle tabelle.
Data Base ACCESS EM 09.
Laboratorio Informatico
Microsoft Access (parte 3) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Manuale Utente – i-Sisen Questionario del Gas Naturale
Lezione 16 Riccardo Sama' Copyright  Riccardo Sama' Excel: strumenti per creare.
Cloud Tecno V. Percorso didattico per l’apprendimento di Microsoft Access 4 - Le maschere.
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Impariamo ad usare Excel. Utilizzare l’interfaccia Avviare Excel e iniziare ad esplorare l'interfaccia per acquisire familiarità con esso… Non c'è modo.
Planet HT – Genova - Elisa Delvai
La funzione CASUALE. Gli istogrammi.
Transcript della presentazione:

Oggetti Form e Controlli Registratore di Macro Lezione 9 Oggetti Form e Controlli Registratore di Macro Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Oggetti (1) Gli oggetti sono le componenti fondamentali di VB(A) Un oggetto è un contenitore di variabili, funzioni e subroutine che perseguono uno scopo comune Gli oggetti sono all’interno di una gerarchia L’insieme è un oggetto che contiene al suo interno altri oggetti solitamente dell stesso tipo L'insieme Workbooks di Microsoft Excel contiene, ad esempio, tutti gli oggetti Workbook aperti. Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Oggetti (2) I dati su cui lavorano gli oggetti sono detti proprietà. Le funzioni contenute in un oggetto sono dette metodi. Alle proprietà ed ai metodi di un oggetto si accede attraverso la variabile di tipo oggetto seguita dal carattere punto (.). Ad esempio l’oggetto ActiveCell indica la cella al momento attiva, contiene fra gli altri Le proprietà Address, Formula e Value I metodi Cells() e BorderAround() Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Oggetti (3) Sub provaOggetto() MsgBox ("cella attiva: " & ActiveCell.Address) MsgBox ("la cella contiene: " & ActiveCell.Value) MsgBox ("la formula nella cella è: " & _ ActiveCell.Formula) ActiveCell.BorderAround xlDouble, xlThick, _ Color:=RGB(255, 255, 0) ActiveCell.Cells(4, 5).Select ‘ si sposta relativamente alla cella precedente ActiveCell.Value = 90 End Sub Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Oggetti (4) L’istruzione with permette di evitare la ripetizione della catena di oggetti fino ai metodi ed alle proprietà dell’ultimo oggetto, ma non sempre funziona: Sub provaOggetto() with ActiveCell MsgBox ("cella attiva: " & .Address) MsgBox ("la cella contiene: " & .Value) MsgBox ("la formula nella cella è: " & .Formula) .BorderAround xlDouble,xlThick,Color:=RGB(255, 0, 0) .Cells(4, 5).Select 'cambio cella attiva CHE NON FUNZIONA .Value = 90 End With End Sub Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Oggetti (5) Per assegnare ad una variabile o ad una proprietà un oggetto si deve far precedere l’istruzione di assegnamento dalla parola chiave Set : Sub usoSet() Dim foglio As Worksheet Set foglio = Worksheets(1) foglio.Name = "ancora" End Sub Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Oggetti (6) Valorizzazione di una variabile con parola chiave Set ed uso di istruzione With Sub usoSetWith() Dim foglio As Worksheet Set foglio = Worksheets(2) With foglio .Name = "bisancora" End With End Sub Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Oggetto Range (1) E’ un oggetto particolarmente importante in VBA le singole celle ed i gruppi di celle sono di tipo Range. Alcune proprietà Rows indica tutte le righe di Range Columns indica tutte le colonne di Range Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Oggetto Range (2) Modifico ogni cella accedendovi singolarmente (provare esecuzione stepByStep) : Sub modificaAll(rn As Range) Dim Cell As Range Dim I as Integer I = 1 For Each Cell In rn Cell = I I = I + 1 Next End Sub Sub richiama2() modificaAll Range("a6..D10") Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Oggetto Range (3) Modifico le celle accedendovi per blocco di riga (provare esecuzione stepByStep) : Sub modificaRiga3(rn As Range) Dim Cell As Range Dim I as Integer I = 1 For Each Cell In rn.Rows Cell = I I = I + 1 Next End Sub Sub richiama3() modificaRiga3 Range("a1..D5") Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Oggetto Range (4) Modifico le celle accedendovi per blocco di riga – usando Item (provare esecuzione stepByStep) : Sub modificaRiga4(rn As Range) Dim righe As Range, i As Integer Set righe = rn.Rows For i = 1 To righe.Count righe.Item(i) = i Next End Sub Sub richiama4() modificaRiga Range("a1..D5") Item proprietà che permette di scorrere sugli elementi Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Form e Controlli (1) In alcuni casi è utile facilitare l’utente nell’inserimento dei dati questo può avvenire attraverso i moduli (Form) e attraverso i controlli in essi contenuti. I controlli sono degli oggetti contenuti in un oggetto di tipo Form o in un foglio di lavoro (p. es. i bottoni) e possono associare a dei precisi eventi (schiacciare un tasto, schiacciare il mouse, ...) una funzione appositamente scritta. Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Form e Controlli (2) Vedremo alcune delle principali tipologie di controlli e degli eventi da cui sono attivati Sulla barra sono presenti i seguenti controlli (da sx verso dx): Casella di controllo Casella di testo Pulsante di comando (bottone) Pulsante di opzione Casella di riepilogo Casella combinata Interruttore Pulsante di selezione Barra di scorrimento Etichetta Immagine Altri controlli controlli Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Form e Controlli (3) Fra i controlli quello più utile da inserire direttamente in un foglio Excel è il Pulsante di comando che può attivare una routine per effettuare dei controlli o per elaborare dei valori presenti nel foglio. Creare un bottone che permette di verificare se i valori presenti nel foglio elettronico dalle cella A1 alla cella A10 sono in progressione aritmetica (la differenza fra due valori consecutivi è costante). L’esito della verifica è scritto nella cella B1 Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Form e Controlli (4) Innanzitutto nel foglio di lavoro si attiva la modalità progettazione si sceglie il controllo bottone e si posiziona il mouse dove si desidera che sia inserito Con il tasto destro si seleziona la voce proprietà e si modificano lo proprietà desiderate, ad esempio: (Name): il nome dell’oggetto in VBA Caption: indica il testo contenuto nel bottone Schiacciando due volte il bottone si apre l’editor di VBA su di una Sub chiamata con il nome immesso nel campo (Nome) seguita da _Click() Questo è il codice che sarà richiamato quando si schiaccia sul bottone Per attivare il bottone bisogna uscire dalla modalità progettazione Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Form e Controlli (5) Private Sub SuccArit_Click() Dim diff As Integer, x As Range Dim progAr As Boolean, prec As Integer progAr = True diff = Range("A1") - Range("A2") prec = Range("A2").Value For Each x In Range("A3..A10") If (prec - x.Value <> diff) Then progAr = False End If prec = x.Value Next If progAr Then Range("B1") = "in progressione aritmetica" Else Range("B1") = "non in progressione aritmetica" End Sub Lez. 9 (11/12) - PB Elementi di Programmazione

Form e Controlli (6) - Esercizio In un foglio elettronico far richiamare con un pulsante una funzione che svuota le celle da A1 a D25 Lez. 9 (11/12) - PB Elementi di Programmazione

Form e Controlli (6) - Soluzione In un foglio elettronico far richiamare con un pulsante una funzione che svuota le celle da A1 a D25 Private Sub Svuotamento_Click() Dim x As Range For Each x In Range("A1..D25") x.Value = "" Next End Sub Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Form e Controlli (7) Il modulo (Form) è un sistema comodo per permettere l’inserimento e la validazione di un certo numero di valori da parte dell’utente Per creare un modulo (UserForm o Form) occorre: Entrare nell’editor VBA Selezionare la voce UserForm dal menù Inserisci In alternativa si può selezionare l’icona Aggiungere i controlli desiderati Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Form e Controlli (8) Vediamo attraverso alcuni esempi i principali controlli e alcune loro proprietà I moduli saranno richiamati tramite un pulsante di comando Una (nuova) macro di Excel selezionabile da Strumenti->Macro Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Form e Controlli (9) Costruiamo un semplice esempio di Form usato per creare una sequenza di 10 valori ordinati a partire di valore 0 con un incremento scelto dall’utente. Useremo una UserForm contenente Due OptionButton uno per ciascuno dei possibili passi (0,5; 1) Selezionando l’opzione si attiva il passo Il primo valore è quello usato in caso di mancata scelta Due Label con la legenda di ogni opzione Schiacciando sull’etichetta si attiva il passo scelto Un Button (pulsante di comando) per attivare la creazione della sequenza a partire dalla cella attiva chiamato “Tabulazione” e con caption “Tabula !” Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Form e Controlli (10) Con l’editor dei form si crea la seguente situazione: Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Form e Controlli (11) Le subroutine che terminano con _Click() si attivano quando si schiaccia/seleziona l’oggetto Tabulazione_click() è richiamata dal pulsante di comando con scritto Tabula! UserForm_Click() è richiamata quando si seleziona il bottone chiudi del UserForm Al termine dell’esecuzione si deve chiudere il form con l’istruzione Me.hide Per poter utilizzare la user form si crea nella sezione Moduli del progetto VBA la sub: Sub Tabula() UserForm1.Show End Sub Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Form e Controlli (12) Option Explicit Dim Passo As Double Private Sub Label1_Click() Passo = 0.5 OptionButton1.Value = True End Sub Private Sub Label2_Click() Passo = 1# OptionButton2.Value = True Private Sub OptionButton1_Click() Private Sub OptionButton2_Click() Private Sub Tabulazione_Click() Dim i As Double, j As Integer If Passo = 0 Then Passo = 0.5 End If i = 0 For j = 1 To 10 ActiveCell.Offset(j - 1, 0).Value = i i = i + Passo Next j Me.Hide End Sub Private Sub UserForm_Click() Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Form e Controlli (13) Creiamo una UserForm per scegliere fra tre tipi di funzioni e quindi, prelevando il valore dalla cella attiva, si applica a questo la funzione scelta scrivendo il risultato nella cella accanto Si utilizza una ComboBox Si crea l’elenco delle voci in un foglio di lavoro compreso nel file Excel si dà un nome all’elenco (Inserisci->Nome->crea) si mette questo nome nella proprietà RowSource Infine si scrive il codice da utilizzare quando l’utente sceglie (Sub ComboBox1_Change()) Lez. 9 (11/12) - PB Elementi di Programmazione

Elementi di Programmazione Form e Controlli (14) Option Explicit Private Sub ComboBox1_Change() If Me.ComboBox1.Value = 0 Then ActiveCell.Offset(0, 1).Value = Sin(ActiveCell.Value) Else If Me.ComboBox1.Value = 1 Then ActiveCell.Offset(0, 1).Value = Cos(ActiveCell.Value) ActiveCell.Offset(0, 1).Value = Tan(ActiveCell.Value) End If Me.ComboBox1.Value = "" Me.Hide End Sub Private Sub UserForm_Click() Lez. 9 (11/12) - PB Elementi di Programmazione

Aggiungere funzioni (1) E’ possibile aggiungere alle funzioni predefinite in Excel e richiamabili nel foglio elettronico delle funzioni scritte dall’utente Le nuove funzioni vanno aggiunte in un modulo dall’editor di VBA: Inserisci->Modulo Si scrivono le funzioni che compariranno nell’insieme delle funzioni selezionabili sotto la voce Definite dall’utente Lez. 9 (11/12) - PB Elementi di Programmazione

Aggiungere funzioni (2) Creare la funzione progGeom che ha come argomento un intervallo di valori e restituisce True se i valori in esso contenuto sono in progressione geometrica (il rapporto fra due valori consecutivi è costante), altrimenti False Option Explicit Function progGeom(r As Range) As Boolean Dim x As Range, i As Integer progGeom = True If (r.Count > 2) Then For i = 1 To (r.Count - 3) If (r.Item(i).Value / r.Item(i + 1).Value _ <> r.Item(i + 1).Value / r.Item(i + 2).Value) Then progGeom = False End If Next End Function Lez. 9 (11/12) - PB Elementi di Programmazione

Aggiungere funzioni - Esercizio Creare la funzione progArit che ha come argomento un intervallo di valori e restituisce True se i valori in esso contenuto sono in progressione aritmetica (la differenza fra due valori consecutivi è costante), altrimenti False Lez. 9 (11/12) - PB Elementi di Programmazione

Aggiungere funzioni - Soluzione Creare la funzione progArit che ha come argomento un intervallo di valori e restituisce True se i valori in esso contenuto sono in progressione aritmetica (la differenza fra due valori consecutivi è costante), altrimenti False Function progArit(r As Range) As Boolean Dim i As Integer progArit = True With r If (.Count > 2) Then For i = 1 To (r.Count - 3) If (.Item(i).Value - .Item(i + 1).Value _ <> .Item(i + 1).Value - .Item(i + 2).Value) Then progArit = False End If Next End With End Function Lez. 9 (11/12) - PB Elementi di Programmazione

Registratore di Macro (1) Excel fornisce un utile strumento per poter registrare il codice generato in base alle azioni che compiamo mentre lavoriamo. In questo modo è possibile esaminare il codice prodotto e quindi regolarsi sui comandi da impiegare Per attivare questa funzionalità: Strumenti -> Macro -> Registra macro Viene chiesto un nome da dare alla macro Inizia la registrazione che termina schiacciando il tasto STOP Il codice generato si troverà nella cartella moduli di VBA Tasto STOP Registra dando riferimenti relativi Lez. 9 (11/12) - PB Elementi di Programmazione

Registratore di Macro (2) Utilizziamo il registratore di macro per registrare i passi relativi alla creazione di un grafico a partire dai dati presenti in una tabella Si ha un insieme di valori nel range A2:B6 Si deve creare un grafico di dispersione Lez. 9 (11/12) - PB Elementi di Programmazione