Excel & VBA. Excel e Visual Basic for Application

Похожие документы
Excel & VBA. Excel e Visual Basic for Application

28/02/2014 Copyright V. Moriggia

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante

VISUAL BASIC FOR APPLICATION

VBA Principali Comandi

Costrutti condizionali e iterativi

Visual Basic For Application Guida Pratica per Esempi

Corso basi di dati Introduzione al VBScript

Automazione Excel con Visual Basic (base)

IMPOSTAZIONI DI EXCEL. Per rendere disponibile l ambiente di sviluppo di Visual Basic for Application in Excel:

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

5 Array Cicli iterativi Contenuto di cella 28/02/2014 Copyright V. Moriggia 1

Basi di Dati: Corso di laboratorio

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Calcolo numerico e programmazione Rappresentazione dei numeri

DAL DIAGRAMMA AL CODICE

FACCIAMO ALCUNE MACRO

Somma di numeri binari

Algebra Booleana ed Espressioni Booleane

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

Linguaggi di programmazione

MINIMANUALE VBA PER CREARE MACRO NEI FOGLI EXCEL

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

MANUALE OPERATIVO PROTOCOLLO DI COMUNICAZIONE TERMOMETRI SITEL CONTROL SERIE A BASSA TEMPERATURA

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 9

Strutture dati e loro organizzazione. Gabriella Trucco

Indice. Prefazione. 3 Oggetti e Java 53

Istruzioni Condizionali

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione in Excel con il linguaggio Visual Basic

Linguaggio C - sezione dichiarativa: costanti e variabili

Algoritmo per l ordinamento di un array

La ricerca dicotomica

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1

Il linguaggio C. Notate che...

Appunti di informatica. Lezione 10 anno accademico Mario Verdicchio

Esercitazione. Excel: le macro. C.1 Registrazione di macro

Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010

Programmazione in Java (I modulo)

3. Le routine evento in Access 2000/2003

3. La sintassi di Java

Introduzione al Linguaggio C

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

IL LINGUAGGIO Visual Basic

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Dall algoritmo al programma

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO

Rimuovere la password dalle protezioni di foglio e cartella in Excel

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

LINGUAGGI DI PROGRAMMAZIONE!

Introduzione a Visual Basic Lezione 2 Cicli e anomalie

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati

Introduzione alla programmazione in C(++)

Al termine del capitolo, si sarà in grado di: Importante 209

Manuale di ASP

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Preparati per il compito in classe Modulo 5

MODULO 4: LE STRUTTURE ITERATIVE: FOR, WHILE E DO LOOP UNTIL

Verifica della correttezza formale del numero di partita IVA

Introduzione al Foglio Elettronico

Struttura logica di un programma

La sintassi del C APPENDICE H

MS Access: Tutorial Tabelle, Relazioni

Variabili. Tipi di dati di base. Variabili. Variabili

Esercitazione n. 5. Rappresentazione dei numeri

Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010

Транскрипт:

Excel & VBA Excel e Visual Basic for Application

Automazione Excel con VBA incorpora la tecnologia dell automazione (OLE automation) Excel dialoga con VBA attraverso un insieme di comandi detto libreria ad oggetti Excel Libreria di oggetti VBA

rogrammazione procedurale Linguaggi procedurali nascondono la complessità delle operazioni sui dati Si invocano delle funzioni su blocchi di dati Programmazione ad oggetti Linguaggi orientati agli oggetti nascondono i dati e la complessità del programma Si inviano dei messaggi agli oggetti

Astrazione dei dati É il meccanismo mediante il quale è possibile combinare una struttura di dati e le operazioni che possono essere su di essa in un nuovo tipo di dato. Tale unità prende il nome di classe. Variabili o istanze di una classe sono definiti oggetti.

Proprietà delle classi Se consideriamo un numero float esso è composto da esponente e mantissa che non possono essere manipolati direttamente. Per default i membri (variabili e funzioni) di una classe sono privati e non sono manipolabili direttamente.

Libreria di oggetti di Excel I metodi e le proprietà si suddividono in due gruppi I gruppo: sono posizionati al termine dell istruzione ed eseguono una azione (ad es. Copy, PasteSpecial) II gruppo: si riferiscono ad oggetti (ad es. ActiveWindows, Range( A1 ))

Esempi di oggetti di libreria Esempio I gruppo: Selection.Copy Range("B5").Select ActiveSheet.Paste Esempio II gruppo: Range("C12:D14").Select Application.CutCopyMode = False Selection.Copy

Oggetti di Excel

Dichiarazione di variabili Dim [WithEvents] nomevariabile[([indici])] [As [New] tipo] [, [WithEvents] nomevariabile[([indici])] [As [New] tipo]]... WithEvents Facoltativa. Parola chiave che specifica che nomevariabile è una variabile oggetto utilizzata per rispondere agli eventi generati. nomevariabile Obbligatoria. Nome della variabile, espresso in base alle convenzioni di denominazione standard delle variabili. indici Facoltativa. Dimensioni di una variabile matrice. New Facoltativa. Parola chiave che consente di creare un oggetto in modo implicito. tipo Facoltativa. Tipo di dati della variabile; può essere Byte, Boolean, Integer, Long, Currency, Single, Double, Date, String (per stringhe di lunghezza variabile), String * lunghezza (per stringhe di lunghezza fissa), Object, Variant, un tipo definito dall'utente oppure un tipo di oggetto.

tipo di dati Byte Tipo di dati utilizzato per contenere numeri interi positivi compresi nell'intervallo tra 0 e 255. Le variabili di tipo Byte vengono memorizzate come numeri singoli, senza segno a 8 bit (1 byte).

Esempio di variabile Byte Sub Macro1() Dim prima As Byte prima = 1 Range("a1").Select ActiveCell.Value = prima End Sub

tipo di dati Boolean Tipo di dati con solo due valori possibili, ovvero True (-1) o False (0). Le variabili di tipo Boolean vengono memorizzate come numeri a 16 bit (2 byte).

Esempio di Boolean Sub Macro1() Dim prima As Boolean prima = True If prima Then Range("a1").Select ActiveCell.Value = "La variabile prima è vera" End If End Sub

tipo di dati Integer Tipo di dati contenente variabili memorizzate come numeri interi a 2 byte nell intervallo da -32.768 a 32.767.

Esempio di Integer Sub Macro1() Dim prima, seconda As Integer prima = 32 seconda = 44 Range("a1").Select ActiveCell.Value = prima * seconda End Sub

tipo di dati Long Intero di quattro byte, ovvero un numero intero compreso tra -2.147.483.648 e 2.147.483.647.

Sub Macro1() Dim lunga(3) As Long lunga(0) = 2 ^ 10 lunga(1) = 2 ^ 11 lunga(2) = 2 ^ 12 Range("a10").Select ActiveCell.Value = lunga(0) Range("b10").Select ActiveCell.Value = lunga(1) Range("c10").Select ActiveCell.Value = lunga(2) End Sub Esempio di Long

tipo di dati Currency Tipo di dati compreso nell intervallo da -922.337.203.685.477,5808 a 922.337.203.685.477,5807. Utilizzato per calcoli monetari o a virgola fissa in cui la precisione è fondamentale.

tipo di dati Single Tipo di dati che contiene variabili a virgola mobile a precisione singola a 32-bit (4 byte), compresi tra -3,402823E38 e - 1,401298E-45 per valori negativi e tra 1,401298E-45 e 3,402823E38 per valori positivi.

tipo di dati Double Tipo di dati che contiene numeri a virgola mobile a doppia precisione a 64 bit (8 byte) compresi tra -1.79769313486231E308 e -4,94065645841247E-324 per i valori negativi, tra 4,94065645841247E-324 e 1,797693134862325E308 per i valori positivi.

Esempio di Double Sub Macro1() Dim grosso As Double grosso = 32 ^ 12 Range("a1").Select ActiveCell.Value = grosso End Sub

tipo di dati Date Tipo di dati utilizzato per memorizzare date e orari come numeri reali. Le variabili di tipo Date vengono memorizzate come numeri a 64 bit (8 byte). Il valore a sinistra del separatore decimale rappresenta una data e il valore a destra rappresenta un orario.

Esempio di Date Sub Macro1() Dim data As Date data = 37956.4407283565 Range("a1").Select ActiveCell.Value = data End Sub

tipo di dati String Tipo di dati i cui dati sono composti da una sequenza di caratteri contigui che rappresentano i caratteri effettivi stessi anziché un valore numerico. Può includere lettere, numeri, spazi e segni di punteggiatura. Il tipo di dati String può contenere stringhe di lunghezza fissa con lunghezza compresa tra 0 e circa 63 KB di caratteri, e stringhe dinamiche di lunghezza compresa tra 0 e circa 2 miliardi di caratteri.

Esempio di String Sub Macro1() Dim stringa As String stringa = "Il mio nome è Paolo" Range("a1").Select ActiveCell.Value = stringa End Sub

tipo di dati Object Tipo di dati che rappresenta qualsiasi riferimento a un oggetto. Le variabili Object vengono memorizzate come indirizzi a 32 bit (4 byte) che fanno riferimento a oggetti.

Memorizzazione di oggetti in variabili Quando si assegna il valore ad una variabile si utilizza il segno = Quando si assegna il riferimento di oggetto ad una variabile si utilizzano Set ed = Sub RegistraOggetto() myobject = Range( A1 ) Set myobject = Range( A1 ) End Sub

Esempio di variabile Object Sub Macro1() Dim stringa As Object Set stringa = Range("a1") Range("a10").Select ActiveCell.Value = stringa End Sub

Strutture di controllo in VB Condizioni: If Else End If Iterazioni: For Each Next For To Next Do Until Loop

Istruzione If...Then...Else Consente l esecuzione condizionale di un gruppo di istruzioni in base al valore di un espressione. Sintassi If condizione Then [istruzioni] [Else istruzioni] oppure If condizione Then [istruzioni] [ElseIf condizione Then [istruzioni]... [Else [istruzioni]] End If

Esempio di If Sub Macro1() Dim data As Date data = Now If data > 37980 Then Range("a10").Select ActiveCell.Value = "Natale è passato da giorni = " Range("a11").Select ActiveCell.Value = data - 37980 Else Range("a10").Select ActiveCell.Value = "A Natale mancano giorni = " Range("a11").Select ActiveCell.Value = 37980 - data End If Range("A11").Select Selection.NumberFormat = "0.00" End Sub

Istruzione For Each...Next Ripete un gruppo di istruzioni per ogni elemento di una matrice o di un insieme. Sintassi For Each elemento In gruppo [istruzioni] [Exit For] [istruzioni] Next [elemento]

Esempio di For each Sub Macro1() Dim Found As Boolean Dim OggettoMio, Collezione As Object Found = False Set Collezione = Range("a1:a4") For Each OggettoMio In Collezione If OggettoMio.Text = "Paolo" Then Found = True Exit For End If Next If Found Then Range("a10").Select ActiveCell.Value = "Trovato" Else Range("a10").Select ActiveCell.Value = "Non trovato" End If End Sub

Istruzione For...Next Ripete un gruppo di istruzioni per il numero di volte specificato. Sintassi For contatore = inizio Tofine [Step incremento] [istruzioni] [Exit For] [istruzioni] Next [contatore]

Esempio di For... Next Sub Macro1() Dim Parole, Caratteri, Stringa As String For Parole = 10 To 1 Step -1 For Caratteri = 0 To 9 Stringa = Stringa & Caratteri Next Caratteri Stringa = Stringa & " " Next Parole Range("a1").Select ActiveCell.Value = Stringa End Sub

Istruzione Do Loop (do while) Ripete un blocco di istruzioni finché la valutazione di una condizione dà come risultato True. sintassi Do [{While Until} condizione] [istruzioni] [Exit Do] [istruzioni] Loop

Esempio di Do while Sub prova1() Dim Counter As Integer Range("a1").Select Counter = ActiveCell.Value Do While Counter < 20 Counter = Counter + 1 Range(Selection, Selection.End(xlDown)).Select ActiveCell.Offset(1, 1).Activate ActiveCell.Value = Counter Loop End Sub

Istruzione Do Loop (repeat until) Ripete un blocco di istruzioni fino a quando non dà come risultato True. sintassi Do [istruzioni] [Exit Do] [istruzioni] Loop [{While Until} condizione]

Esempio di Repeat until Sub prova() Dim Check As Boolean, Counter As Integer Check = True: Counter = 0 Do Do While Counter < 20 Counter = Counter + 1 If Counter = 10 Then Check = False Exit Do End If Loop Loop Until Check = False End Sub