Visual Basic For Application Guida Pratica per Esempi

Похожие документы
VBA Principali Comandi

Excel & VBA. Excel e Visual Basic for Application

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

28/02/2014 Copyright V. Moriggia

Excel & VBA. Excel e Visual Basic for Application

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

Classe 1C E-book di informatica Marco Ciani

MINIMANUALE VBA PER CREARE MACRO NEI FOGLI EXCEL

VISUAL BASIC FOR APPLICATION

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori

Programmazione in Excel con il linguaggio Visual Basic

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

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

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

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

DAL DIAGRAMMA AL CODICE

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Automazione Excel con Visual Basic (base)

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

Matematica in laboratorio

Excel: guida alle operazioni di base per la risoluzione dell esercizio 13

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

Excel VBA Lezione 17. Generare numeri casuali

OGGETTO RANGE DI CELLE. Una cella o un gruppo di celle in un foglio di lavoro di Excel è un oggetto di tipo Range.

Introduzione a Visual Basic Lezione 2 Cicli e anomalie

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

Realizzare semplici applicazioni windows

Matematica in laboratorio

Introduzione al Foglio Elettronico

Laboratorio Informatica

AREA RETTANGOLO LIRE IN EURO

ISTITUTO DI ISTRUZIONE SUPERIORE Cigna Baruffi Garelli

Automatizzare le attività con le macro di Visual Basic

Struttura logica di un programma

L INTERFACCIA GRAFICA DI EXCEL

Verifica della correttezza formale del numero di partita IVA

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

La ricerca dicotomica

Algoritmo per l ordinamento di un array

ALGORITMI 2 FINALITÁ

Le L z e ione n e d i d V isu s a u l B asi s c Prof.ssa Paola Goi 1

EXCEL AVANZATO Le Funzioni in Excel DEFINIZIONE DI FUNZIONE

U.T.E Università della Terza Età

Applicazioni grafiche

Dall algoritmo al programma

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

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica

Obbiettivi: Fornire le conoscenze di base per creare un semplice gioco, tipo Pimball, in Visual Basic.

Introduzione al Foglio Elettronico

Relazione del programma di statistica: Curva di Gauss.

ISI s.r.l. Corso di Access 05 CREARE UN ELENCO MAILING ED INVIARE MESSAGGI DI POSTA ELETTRONICA Pag. 1/6

Excel. Il foglio di lavoro. Il foglio di lavoro Questa viene univocamente individuata dalle sue coordinate Es. F9

U.T.E FOGLIO ELETTRONICO. Università della Terza Età. Sede di Novate Milanese. Corso Informatica Approfondimento. Docente: Giovanni Pozzi

2015/2016 TECNOLOGIE INFORMATICHE

Corso MS Excel. Programma didattico. IT Solutions Lab

Il foglio elettronico

Rimuovere la password dalle protezioni di foglio e cartella in Excel

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

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore

Piccola guida a VBA per Word

Excel come foglio di calcolo. Altri Grafici con Excel Istogrammi, grafici a torta

Operazioni preliminari: creare una cartella in Documenti

Definizione. File di dati. Insieme di record omogenei memorizzati in memoria di massa. Record. Bianchi. Anna Roma Verdi. Luca Milano 1960.

Visual basic base Lezione 13. Ancora su ListBox e cicli

A. Carullo Introduzione a Visual Basic. Introduzione a

EXCEL RIFERIMENTI ASSOLUTI E RELATIVI

Il test del chi-quadrato per un campione con Excel e SPSS

NAVIGAZIONE SU INTERNET

STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER

DEFINIZIONI SMART E RELATIVE ESERCITAZIONI

Iniziativa Comunitaria Equal II Fase IT G2 CAM Futuro Remoto. Esercitazione. Costruzione del diagramma di GANTT con EXCEL

Creare una tabella di pivot

IL LINGUAGGIO Visual Basic

Tipi di pulsante, caselle di controllo e altri controlli sulla barra degli strumenti Moduli

Corso di Visual Basic (Parte 8)

= < < < < < Matematica 1

Corso di Visual Basic (Parte 9)

Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante

Grafici. 1 Generazione di grafici a partire da un foglio elettronico

Basic: introduzione. Struttura fondamentale

Fare calcoli e grafici con Excel

Giocare e vincere con Excel. Gianclaudio Floria - Andrea Terzaghi

MACRO DEFINIZIONE MACRO IN OFFICE. Di Luca Bazzani

1 Programmazione orientata agli oggetti

Appunti di Excel per risolvere alcuni problemi di matematica (I parte) a.a

Транскрипт:

2016 Visual Basic For Application Guida Pratica per Esempi Ing. Nicola Cappuccio 02/04/2016

1. VBA - Visual Basic For Application... 2 1.1. Come creare una Macro... 2 Attivare l opzione di sviluppo in Excel 2013... 2 Creare una Macro di Nome Esempio... 2 1.2. Esempi... 3 Hello World in VBA... 3 I tipi in VBA... 5 Macro che copia il contenuto di una cella in un altra cella... 6 Macro che somma il contenuto della cella A1 con il contenuto della cella A2 e lo inserisce nella cella A3... 6 Esercizio 1: Calcolatrice... 6 Sub incremento e decremento... 6 Esercizio 2: Calcolo dei divisori di un numero... 7 1.3. Generazione di un numero casuale... 8 1.3.1. Casella di input dati... 8 1.3.2. Modificare lo sfondo di una cella... 8 1.3.3. Sub per indovinare il numero generato... 8 1.4. istruzione if Then.Else... 9 1.5. Ciclo For. Next... 10 1.5.1. Esempio: decrementa contatore... 10 1.5.2. Esempio: affonda cella... 11 1.5.3. Esempio: Colora cella con tasti Up Down... 12 1.5.4. Sub delay... 13 1.5.5. Application.Wait(Now + #12:00:01 AM#)... 13 Ing. Nicola Cappuccio 1

1. VBA - Visual Basic For Application 1.1. Come creare una Macro Attivare l opzione di sviluppo in Excel 2013 Creare una Macro di Nome Esempio Ing. Nicola Cappuccio 2

1.2. Esempi Hello World in VBA Sub HelloWorld() MsgBox ("Hello World!") Ing. Nicola Cappuccio 3

Ing. Nicola Cappuccio 4

I tipi in VBA Ing. Nicola Cappuccio 5

Macro che copia il contenuto di una cella in un altra cella Creare una macro come mostrato nel punto 2) ed inserire il seguente codice 'La macro copia il contenuto della cella A1 nella cella A2 Sub copia() Dim a, b As Integer a = Range("A1") Range("A2") = a Macro che somma il contenuto della cella A1 con il contenuto della cella A2 e lo inserisce nella cella A3 Sub somma() Dim a, b, c As Integer a = Range("A1") b = Range("A2") c = a + b Range("A3") = c Esercizio 1: Calcolatrice Creare una calcolatrice con le seguenti operazioni: +, -, *, /, Sqr( ) Sub incremento e decremento La Sub incremento incrementa il valore contenuto nella cella A1 La Sub decrementa decrementa il valore contenuto nella cella A1 Sub incrementa() Range("A1") = Range("A1") + 1 Sub dencrementa() Range("A1") = Range("A1") - 1 Ing. Nicola Cappuccio 6

Esercizio 2: Calcolo dei divisori di un numero La Macro divisori() calcola i divisori del Contenuto della cella A1 e li scrive nelle celle dalla A2 in poi in modo orizzontale. Sub divisori() Dim n As Long Dim i As Long Dim j As Long n = Cells(1, 1) j = 1 For i = 1 To n If n Mod i = 0 Then Cells(2, j) = i j = j + 1 End If Next i La Macro cancella() cancella il contenuto della celle presenti nelle righe A1, A2 Sub cancella() Rows("1:2").Select Selection.ClearContents Range("A1").Select Ing. Nicola Cappuccio 7

1.3. Generazione di un numero casuale Dim value As Integer value = CInt(Int((10 * Rnd()) + 1)) 1.3.1. Casella di input dati Dim a As Long a = InputBox("inserisci un numero da 1 a 10") 1.3.2. Modificare lo sfondo di una cella Cells(value, value).interior.color = RGB(200, 160, 35) 1.3.3. Sub per indovinare il numero generato Sub ingresso_dati() Dim a As Long Dim value As Integer value = CInt(Int((10 * Rnd()) + 1)) a = InputBox("inserisci un numero da 1 a 10") Cells(a, a) = a MsgBox (" numero casuale: " & value) If a = value Then Cells(value, value).interior.color = RGB(200, 160, 35) Ing. Nicola Cappuccio 8

sintassi 1.4. istruzione if Then.Else ' Multiple-line syntax: If condition Then [ statements ] ElseIf elseifcondition Then [ elseifstatements ] Else [ elsestatements ] ] End If ' Single-line syntax: If condition Then [ statements ] Else [ elsestatements ] Esempio: Sub selezione() delimitatore: inizio sub() Dim x, y As Integer x = InputBox("inserisci il valore di x: ") y = InputBox("inserisci il valore di y: ") If x = y Then MsgBox ("hai inserito du evalori uguali " & x) ElseIf x > y Then MsgBox (x & " è maggiore di " & y) Else MsgBox (y & " è maggiore di " & x) End If delimitatore: fine della sub() Ing. Nicola Cappuccio 9

1.5. Ciclo For. Next Sintassi For contatore = inizio To fine espressioni da ripetere Next contatore 1.5.1. Esempio: decrementa contatore Sub ciclo() For contatore = 1 To 5 MsgBox ("il valore di contatore è: " & contatore) Next contatore Ing. Nicola Cappuccio 10

1.5.2. Esempio: affonda cella Sub codice() Dim x, y As Integer Dim valore As Boolean Dim i, j As Integer Dim answere As Integer MsgBox ("abbatti la nave, inserisci le coordite valore min=1, valore Max=5") MsgBox ("giocatore 1") i = InputBox("inserisci il valore di i: ") j = InputBox("inserisci il valore di j: ") 'MsgBox (i & " " & j) label1: x = InputBox("inserisci il valore di x: ") y = InputBox("inserisci il valore di y: ") MsgBox (x & " " & y) valore = x And i And y And j 'MsgBox ("valore " & valore) If valore Then MsgBox ("nave affondata! ") Cells(i, j) = "AFFONDATA" 'Cells(x, y).interior.color = RGB(200, 160, 35) End End If answere = MsgBox("vuoi riprovare? ", vbyesno + vbquestion) If answere = vbyes Then MsgBox ("ok!") GoTo label1 ElseIf answere =vbno Then Range("A1:E5").Select Selection.Delete Range("A1").Select End End If Ing. Nicola Cappuccio 11

Sub clear_cells() Range("A1:E5").Select Selection.Delete Range("A1").Select 1.5.3. Esempio: Colora cella con tasti Up Down Sub colora_r_up() Dim R As Integer R = Cells(2, 1) R = R + 1 If R < 256 Then Cells(2, 1) = R Cells(4, 4).Interior.Color = RGB(R, Cells(2, 2), Cells(2, 3)) Else Cells(2, 1) = 255 End If Sub colora_r_down() Dim R As Integer R = Cells(2, 1) R = R - 1 If R > 0 Then Cells(2, 1) = R Cells(4, 4).Interior.Color = RGB(R, Cells(2, 2), Cells(2, 3)) Else Cells(2, 1) = 0 End If Ing. Nicola Cappuccio 12

1.5.4. Interrompere una macro in loop CTRL+pausa 1.5.5. Sub delay È una sub che può essere richiamata da qualsiasi altra sub. Ha lo scopo di fornire un ritardo durante l esecuzione di un altra macro. Accetta il parametro time definito come numero intero che definisce il tempo di ritardo. Sub delay(byval time As Long) For i = 1 To time i=i Next i 1.5.6. Application.Wait(Now + #12:00:01 AM#) Sub delay(byval secondi As Double) tempo = Application.Wait(Now + #12:00:01 AM#) * secondi Sub ritardo_sec() Dim ms As Double Sec = InputBox("inserisci il ritardo in secondi utilizzando il carattere virgola per indicare i decimi di secondo: ") delay (Sec) Applicazione: la macro arcobaleno colora in successione la cella D:4. L intervallo di tempo tra due sfumature successive è deciso tramite input da tastiera. Sub arcobaleno() Dim R, G, B, i As Integer Dim ritardo As Long R = 0 G = 0 Ing. Nicola Cappuccio 13

B = 0 ritardo = InputBox("ritardo ") For i = 1 To 255 delay (ritardo) R = i Cells(4, 4).Interior.Color = RGB(R, G, B) Next i For i = 1 To 255 delay (ritardo) G = i Cells(4, 4).Interior.Color = RGB(R, G, B) Next i For i = 1 To 255 delay (ritardo) B = i Cells(4, 4).Interior.Color = RGB(R, G, B) Next i Ing. Nicola Cappuccio 14