Il 0% ha trovato utile questo documento (0 voti)
29 visualizzazioni50 pagine

DM66 VB1 Controlli

Caricato da

marco.sechi
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
29 visualizzazioni50 pagine

DM66 VB1 Controlli

Caricato da

marco.sechi
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 50

DECRETO MINISTERIALE 66/2023

Corso Base di VBA per Microsoft EXCEL

Microsoft EXCEL/VBA – I controlli

E-mail: [email protected]
I controlli

Vers 01/11/2024

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


2
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

I controlli di EXCEL

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


3 I controlli di EXCEL
In queste slide vedremo come si
produce un modulo in Excel che ci
permette di acquisire dei dati in
modo controllato.

Un modulo è un documento
organizzato in modo tale da
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

facilitare l'acquisizione dei dati. I


moduli sono caratterizzati da una
serie di controlli quali textbox,
listbox, radio button, check box etc.
che vincolano l'input dell'utente
alle sole operazioni consentite da
parte di chi ha predisposto il
documento di raccolta dati.
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
In Windows
4 Per utilizzare i controlli è necessario andare nel ribbon-tab
«Sviluppo» e successivamente cliccare sul bottone "Inserisci".
Se il ribbon «Sviluppo» non fosse visibile bisogna attivarlo
mediante questa procedura:
 Richiamare il ribbon "File"
 Andare nelle «Opzioni» ...
 selezionare «Personalizzazione barra multifunzione» (A)
 ed infine spuntare il check box associato a «Sviluppo» (B)
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


In Apple
5
Per gestire i controlli è necessario andare nel ribbon «Sviluppatore» e poi cliccare su quello
che si desidera inserire

Excel 2019 Apple


Se il ribbon «Sviluppatore» non fosse visibile bisogna attivarlo con questa procedura:
Richiamare la voce
"Preferenze" nel
menu "Excel" (A) A
Nella finestra
"Preferenze di Excel"
cliccare sul bottone
"Visualizza" (B)
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

B
Excel 2019 Apple

Nella sezione "Nella barra multifunzione


mostra" della maschera "Visualizza" spuntiamo
la voce "Scheda Sviluppo". (C)
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
In Excel per windows sono disponibili due tipi di controlli: i controlli modulo e controlli
6 ActiveX.
I controlli modulo sono i controlli originali, compatibili con tutte le vecchie
versioni di Excel a partire dalla versione 5.0. I controlli modulo non
sfruttano gli oggetti Ole di Windows e pertanto possono essere utilizzati
anche nella versione di Excel per Apple. Sono compatibili con le vecchie
macro XLM per cui quando si effettua un clic su un controllo, la macro
viene eseguita. Questi controlli non possono essere aggiunti agli UserForm
ne venire utilizzati in associazione agli eventi.

I controlli ActiveX (o OLE) possono essere utilizzati sia nei fogli di lavoro
(con o senza l'ausilio del codice VBA) che negli UserForm. In generale è
preferibile usare i controlli ActiveX quando sono necessari requisiti di
progettazione più flessibili rispetto a quelli offerti dai controlli modulo. I
controlli ActiveX dispongono di proprietà estese utilizzabili per
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

personalizzarne l'aspetto e il comportamento. I diversi eventi che si


verificano quando si interagisce con un controllo ActiveX possono essere
controllati. È ad esempio possibile eseguire azioni diverse a seconda che si
clicchi sopra un oggetto oppure lo si selezioni. Quando un utente
interagisce con un controllo, viene eseguito il codice VBA associato agli
eventi che si sono verificati su tale oggetto. Non è possibile utilizzare i
controlli ActiveX in ambiente Apple e pertanto il loro utilizzo impedisce la
portabilità dei documenti su tale sistema operativo.

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


PULSANTE - ActiveX
7
Vediamo come si aggiungono i pulsanti di comando. Utilizzando il bottone
«Inserisci» selezioniamo l’icona, qui sotto evidenziata, nella sezione
«Controlli ActiveX» ed aggiungiamo un bottone (A).

I pulsanti di comando
vengono utilizzati per
attivare l'esecuzione
di uno script VBA.
B
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

C
Eventualmente
sfruttando il
ribbon A
«Visualizza» (B)
nascondiamo la
«Griglia» (C).
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
Iniziamo a personalizzare il pulsante di comando che abbiamo inserito sul
8 foglio di lavoro richiamando il pannello delle proprietà

a
(a) Indichiamo il nome del pulsante (Name)
(b) Specifichiamo l’etichetta (Caption)
(c) Forniamo il percorso dell'immagine da
b inserire nel bottone (Picture)
(d) Definiamo la posizione dell'immagine
rispetto all'etichetta (PicturePosition)
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


PULSANTE - Modulo
9 Se invece si vuole utilizzare l’altra tipologia di Pulsante che utilizza i
controlli modulo dobbiamo seguire questa procedura:
In Windows
Utilizzando il bottone «Inserisci» (ribbon "sviluppo") inseriamo un pulsante sul foglio di lavoro
Excel per Windows

Eventualmente con il tasto destro riposizioniamo il


In Apple bottone e confermiamo cliccando sulla voce «Sposta»
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Excel per Mac


Per inserire un pulsante occorre selezionare l'icona "Pulsante" nel ribbon "Sviluppo",
successivamente con un semplice click aggiungiamo il controllo sul foglio di lavoro. Per
riposizionare un controllo dobbiamo cliccarci sopra con il tasto destro del mouse (oppure
ctrl+click) e successivamente spostare l'oggetto nella posizione desiderata.
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
In Windows
10
Per ogni pulsante definiamo le
proprietà tramite il menu
contestuale «Formato controllo…»
(attivabile con un click con il tasto
destro del mouse).

Utilizzando il tasto destro modifichiamo l’etichetta


richiamando il menu «Modifica testo»
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Utilizzando il tasto destro con la voce "Assegna


macro" possiamo associare l'azione che verrà
eseguita cliccando sul bottone.

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


In Apple
11
Per ogni pulsante definiamo le
proprietà tramite il menu
contestuale «Formato
controllo…» (attivabile con un
ctrl+click del mouse).

Per modificare il testo occorre fare click con il tasto destro


(ctrl+click). Successivamente premere ESC per far
scomparire il menu contestuale ed infine iniziare a digitare
il testo desiderato.
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Utilizzando il tasto destro con la voce "Assegna


macro" possiamo associare l'azione che verrà
eseguita cliccando sul bottone.

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


CHECKBOX - ActiveX
12
Vediamo come si aggiungono i checkbox. Utilizzando il bottone «Inserisci»
selezioniamo l’icona, qui sotto evidenziata, nella sezione «Controlli
ActiveX». Successivamente disponiamo 3 checkbox sul foglio di lavoro
corrente (A)
Le regole per ottenere una buona interfaccia utente
prevedono che i checkbox vengano usati quando sono
ammesse risposte multiple sulla stessa domanda

B
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Eventualmente C
sfruttando il
ribbon
«Visualizza» (B)
nascondiamo la
A
«Griglia» (C).

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


Iniziamo a personalizzare i singoli checkbox richiamando il pannello
13 delle proprietà

(a) Indichiamo il nome del controllo (Name)


(b) Specifichiamo l’etichetta (Caption)
(c) Forniamo il nome del gruppo di controlli a cui
appartiene il nostro checkbox (GroupName)
(d) Associamo una cella al nostro controllo (LinkedCell)
(e) Fissiamo un eventuale valore di default (true se
vogliamo vedere subito la spunta sul controllo) –
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

(Value)

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


CHECKBOX - Modulo
14 Se invece si vuole utilizzare l’altra tipologia di checkbox che sfrutta i
controlli modulo dobbiamo seguire questa procedura:
In Windows
Utilizzando il bottone «Inserisci» mettiamo 3 checkbox sul foglio di lavoro corrente
Excel per Windows

Eventualmente con il tasto destro riposizioniamo i


In Apple controlli e confermiamo cliccando sulla voce «Sposta»
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Excel per Mac


Per inserire i checkbox basta selezionare l'icona "Casella di controllo" nel ribbon "Sviluppo" e
poi procedere con l'inserimento dei controlli mediante un semplice click sul foglio di lavoro.
Per riposizionare un controllo dobbiamo cliccarci sopra con il tasto destro del mouse
(oppure ctrl+click) e successivamente spostare l'oggetto nella posizione desiderata.
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
In Windows
15
Per ogni controllo definiamo le proprietà
tramite il menu contestuale «Formato
controllo…» (attivabile con un click con il
tasto destro del mouse).

Dopo aver richiamato il pannello «controllo» (1)


1. indichiamo se il controllo presenta di default la
spunta (se il radio button associato alla voce
«selezionato» è attivato avrò il simbolo di spunta!) (a)
2. Colleghiamo il controllo ad una cella del foglio (b)
Utilizzando il tasto destro su ogni controllo
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

modifichiamo l’etichetta con il menu «Modifica testo»

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


In Apple
16
Per ogni controllo definiamo le
proprietà tramite il menu
contestuale «Formato
controllo…» (attivabile con un
ctrl+click del mouse).

Dopo aver richiamato il pannello «Formato oggetto»


1. indichiamo se il controllo presenta di default la
spunta (se il radio button associato alla voce
«selezionato» è attivato avrò il simbolo di spunta sul
controllo!) (a)
2. Colleghiamo il controllo ad una cella del foglio (b)
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Per modificare il testo occorre fare click con il tasto destro


(ctrl+click). Successivamente premere ESC per far
scomparire il menu contestuale ed infine iniziare a digitare
il testo desiderato.

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


RADIOBUTTON - ActiveX
17 Vediamo ora come si aggiungono i radiobutton. Utilizzando il bottone
«Inserisci», nel ribbon "Sviluppo", selezioniamo l’icona evidenziata in
figura all'interno della sezione «Controlli ActiveX» e disponiamo 2
radiobutton sul foglio di lavoro corrente

Le regole per ottenere una buona interfaccia


utente prevedono che i radiobutton vengano
usati quando una risposta esclude
automaticamente tutte le altre.
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


Iniziamo a personalizzare i singoli
18 radiobutton richiamando il pannello
delle proprietà

(a) Indichiamo il nome del controllo (Name)


(b) Specifichiamo l’autoridimensionamento del controllo
(utile in presenza di immagini)
(c) Specifichiamo l’etichetta (Caption)
(d) Forniamo il nome del gruppo di controlli a cui
appartiene il nostro radio button (GroupName)
(e) Abbiniamo una cella al nostro controllo (LinkedCell)
(f) Selezioniamo l’eventuale immagine (Picture)
(g) Definiamo la posizione dell’immagine rispetto
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

all’etichetta (PicturePosition)
(h) Fissiamo un eventuale valore di default (true se
vogliamo vedere subito il pallino di spunta) – (Value)

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


RADIOBUTTON - Modulo
19 Se invece si vuole utilizzare l’altra tipologia di radiobutton che sfrutta i
controlli modulo dobbiamo seguire questa procedura:
In Windows
Utilizzando il bottone «Inserisci» mettiamo 2 radiobutton sul foglio di lavoro corrente
Excel per Windows

Eventualmente con il tasto destro del mouse riposizioniamo i


In Apple controlli e confermiamo cliccando sulla voce «Sposta»
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Excel per Mac


Per inserire i radiobutton basta selezionare l'icona "Pulsante di opzione" nel ribbon
"Sviluppo" e poi procedere all'inserimento dei controlli con un semplice click sul foglio di
lavoro. Per riposizionare un controllo dobbiamo cliccarci sopra con il tasto destro del
mouse (oppure ctrl+click) e successivamente spostare l'oggetto nella posizione desiderata.
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
In Windows
20
Per ogni controllo definiamo le proprietà
tramite il menu contestuale «Formato
controllo…» (B) (attivabile con un click con il
tasto destro del mouse).
Dopo aver richiamato il pannello «controllo»
(1) della finestra "Formato oggetto"
 indichiamo se il controllo presenta di default la spunta (se
il radio button associato alla voce «selezionato» è attivato
avrò il simbolo di spunta sul controllo!) (a)
 Colleghiamo il controllo ad una cella del foglio (b)
Utilizzando il tasto destro su ogni controllo
modifichiamo l’etichetta con il menu
«Modifica testo»
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Si osservi che contrariamente al radiobutton "ActiveX"


quello "Modulo" restituisce un numero. I "radio button
di tipo modulo", appartenenti allo stesso foglio di lavoro,
risultano tutti tra loro mutuamente esclusivi. Pertanto
non è possibile creare dei raggruppamenti con i controlli
modulo all'interno dello stesso foglio. Non è possibile
neppure associare delle immagini. Tutti i controlli radio
di tipo modulo usano la stessa cella collegata.
Pertanto se cambio la cella collegata ad uno dei radiobutton questa viene modificata a tutti.
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
In Apple
21
Per ogni controllo definiamo le proprietà
tramite il menu contestuale «Formato
controllo…» (attivabile con un ctrl+click del
mouse).

Dopo aver richiamato il pannello «controllo» (1) della


finestra "Formato oggetto"
1. indichiamo se il controllo presenta di default la
spunta (se il radio button associato alla voce
«selezionato» è attivato avrò il simbolo di spunta!) (a)
2. Colleghiamo il controllo ad una cella del foglio (b)

Per modificare il testo occorre fare click con il tasto destro


Corso di VBA di Microsoft EXCEL – VB1 - I controlli

(ctrl+click). Successivamente premere ESC per


far scomparire il menu contestuale ed infine
iniziare a digitare il testo desiderato.

Si osservi che i radiobutton "Modulo"


restituiscono un numero e non VERO/FALSO.
Non è possibile associare ai controlli modulo immagini
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
COMBOBOX - ActiveX
22
Vediamo come si aggiungono i Combo Box (casella combinata).
Utilizzando il bottone «Inserisci» selezioniamo l’icona evidenziata in
figura all'interno della sezione «Controlli ActiveX», e collochiamo la
casella combinata sul foglio di lavoro corrente.
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Generalmente i combobox vengono utilizzati nei casi dove devo scegliere un solo
valore tra un elenco di N possibili scelte.

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


Iniziamo a personalizzare il combobox richiamando
23 il pannello delle proprietà

(a) Indichiamo il nome del controllo (Name)


(b) Associamo una cella al nostro controllo (LinkedCell)
(c) Indichiamo l’area da dove pescare i valori in elenco ('Nome
Foglio'!AreaCelle) – (ListFillRange)
(d) Eventualmente possiamo impostare un
valore predefinito (Value)
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


COMBOBOX - Modulo
24 Se invece si vuole utilizzare l’altra tipologia di combobox che sfrutta i
controlli modulo dobbiamo seguire questa procedura:
In Windows
Utilizzando il bottone «Inserisci» mettiamo un combobox sul foglio di lavoro corrente
Excel per Windows
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Sempre con il tasto destro del


mouse visualizziamo le maniglie e
ridimensioniamo il controllo

Mediante un drag & drop con il tasto


destro possiamo decidere di
riposizionare il controllo cliccando sulla
voce «Sposta»
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
Definiamo le proprietà del
25 controllo tramite il menu
contestuale «Formato
controllo…» (attivabile con un
click con il tasto destro del
mouse).
Dopo aver richiamato il pannello «controllo» nella finestra
"Formato oggetto"
1. Definiamo l'area con valori in elenco
('Nome Foglio'!AreaCelle) (a)
2. Colleghiamo il controllo ad una cella del
foglio (b)
Si osservi che contrariamente al combo "ActiveX"
quello "Modulo" restituisce un numero (quello
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

della riga scelta) e non il testo selezionato

Se voglio vedere il testo devo utilizzare la


funzione indice(areadati;nr)
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
In Apple
26
Per inserire il combobox ci basta selezionare l'icona "Casella combinata"
nel ribbon "Sviluppatore" e poi procedere all'inserimento del controllo
mediante un semplice click sul foglio di lavoro.
Per riposizionare un controllo dobbiamo cliccarci sopra con il tasto destro del mouse
(oppure ctrl+click) e successivamente spostare l'oggetto nella posizione desiderata.

Excel per Mac


Sempre con il tasto destro del
mouse (ctrl+click) visualizziamo le
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

maniglie e successivamente
ridimensioniamo il controllo

Una volta richiamate le maniglie del


controllo è possibile anche
riposizionarlo con una semplice
operazione di drag & drop.

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


Definiamo le proprietà del
27 controllo tramite il menu
contestuale "Formato
controllo…" (attivabile con un
ctrl+click del mouse).

Dopo aver richiamato il pannello «controllo» della


finestra "Formato oggetto"
1. Definiamo l'area dei valori in elenco
('Nome Foglio'!AreaCelle) (a)
2. Colleghiamo il controllo ad una cella del
foglio (b)

Si osservi che contrariamente al combo "ActiveX"


quello "Modulo" restituisce un numero (quello
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

della riga scelta) e non il testo selezionato

Se voglio vedere il testo devo utilizzare la


funzione indice(areadati;nr)
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
LISTBOX - ActiveX
28
Vediamo come si aggiungono i listbox (casella di riepilogo).
Utilizzando il bottone «Inserisci» selezioniamo l’icona evidenziata
nella figura sottostante (nella sezione «Controlli ActiveX») e
disponiamo la casella di riepilogo sul foglio di lavoro corrente.
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Generalmente i listbox vengono utilizzati nei casi dove devo scegliere k valori presi da
un elenco di N possibili scelte.
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
Iniziamo a personalizzare il Listbox
29
richiamando il pannello delle proprietà

(a) Indichiamo il nome del controllo (Name)


(b) Abbiniamo una cella al nostro controllo (LinkedCell). Se
abilito la selezione multipla e seleziono poi più righe in
questa cella appare il codice #N/D!
(c) Indichiamo l’area da dove pescare i valori in elenco
('Nome Foglio'!AreaCelle) – (ListFillRange)
(d) ….
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


30
(c) …
(d) Indichiamo
lo stile dell’elenco
(ListStyle).
(e) Specifichiamo se il
riposizionamento nell’elenco è:
- basato solo sulla prima lettera,
- su tutto quello che digito,
- disabilitato (MatchEntry)
(f) Impostiamo la possibilità di
effettuare una selezione
multipla, singola o multipla con
trascinamento (MultiSelect)
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Esempi di listbox
ListStyle=fmListStyleOption ListStyle=fmListStyleOption ListStyle=fmListStyleOption
MultiSelect=fmMultiSelectSingle MultiSelect=fmMultiSelectMulti MultiSelect=fmMultiSelectExtended

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


LISTBOX - Modulo
31
Se invece si vuole utilizzare l’altra tipologia di Listbox che sfrutta i
controlli modulo dobbiamo seguire questa procedura:
In Windows
Utilizzando il bottone «Inserisci» mettiamo un listbox sul foglio di lavoro corrente
Excel per Windows
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Se serve, con il tasto destro del mouse,


possiamo attivare le maniglie e quindi
ridimensionare il controllo.

Mediante un drag & drop con il tasto


destro del mouse possiamo
riposizionare il controllo cliccando al
termine sulla voce «Sposta»
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
32
Definiamo le proprietà del controllo
tramite il menu contestuale
"Formato controllo…" (attivabile con
un click destro del mouse).

Dopo aver richiamato il pannello «controllo»


della finestra "Formato oggetto"
1. Definiamo l'area dei valori in elenco
('Nome Foglio'!AreaCelle) (a)
2. Colleghiamo il controllo ad una cella del
foglio (b)
3. Impostiamo la possibilità di effettuare una
selezione: multipla, singola o multipla con
trascinamento (estesa) (c)
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Si osservi che contrariamente al listbox "ActiveX"


quello "Modulo" restituisce un numero (quello
della riga scelta) e non il testo selezionato

Se voglio vedere il testo devo utilizzare la


funzione indice(areadati;nr)
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
In Apple
33 Per inserire il listbox ci basta selezionare l'icona "Casella di riepilogo" nel
ribbon "Sviluppatore" e poi procedere all'inserimento del controllo con un
semplice click sul foglio di lavoro.
Per riposizionare un controllo dobbiamo cliccarci sopra con il tasto destro del mouse
(oppure ctrl+click) e successivamente spostare l'oggetto nella posizione desiderata.

Excel per Mac


Sempre con il tasto destro del mouse
(ctrl+click) visualizziamo le maniglie e
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

successivamente ridimensioniamo il
controllo

Una volta visualizzate le maniglie del


controllo è possibile anche
riposizionarlo mediante una
semplice operazione di drag & drop.
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
Definiamo le proprietà del
34 controllo tramite il menu
contestuale "Formato
controllo…" (attivabile con un
ctrl+click del mouse).

Dopo aver richiamato il pannello «controllo»


nella finestra "Formato oggetto"
1. Definiamo l'area dei valori in elenco
('Nome Foglio'!AreaCelle) (a)
2. Colleghiamo il controllo ad una cella del
foglio (b)
3. Impostiamo la possibilità di effettuare una
selezione: multipla, singola o multipla con
trascinamento (estesa) (c)
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Si osservi che contrariamente al listbox "ActiveX"


quello "Modulo" restituisce un numero (quello
della riga scelta) e non il testo selezionato
Se voglio vedere il testo devo utilizzare
la funzione indice(areadati;nr)

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


TEXTBOX - ActiveX
35
Vediamo come si aggiungono i TextBox (Casella di testo). Utilizzando
il bottone «Inserisci» selezioniamo l’icona evidenziata nella figura
sottostante (posta nella sezione «Controlli ActiveX») e disponiamo la
casella di testo sul foglio di lavoro corrente
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

I TextBox vengono generalmente usati per ravvicinare graficamente le celle di input


quando queste risultano molto distanti tra loro all'interno della cartella di lavoro

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


Personalizziamo il Textbox richiamando il
36 pannello delle proprietà

(a) Indichiamo il nome del controllo (Name)


(b) Associamo una cella al nostro controllo (LinkedCell).
(c) Indichiamo se è possibile scrivere su più linee (Multiline)
(d) L’eventuale carattere per mascherare l’input (utile
quando vogliamo costruire una casella di testo per
digitare una password) – (PasswordChar)
(e) Se mostrare le barre di scorrimento o meno (ScrollBars)
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Non esiste un corrispondente al textbox nei controlli modulo!

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


SCROLLBAR - ActiveX
37
Vediamo come si aggiunge la ScrollBar (barra di scorrimento).
Utilizzando il bottone «Inserisci» selezioniamo l’icona evidenziata in
figura, nella sezione «Controlli ActiveX», e disponiamo la barra di
scorrimento sul foglio di lavoro corrente.
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Le scrollbar vengono utilizzate in alternativa agli spinbox ma con il vantaggio che gli
spostamenti all'interno del range dei valori ammessi risultano più veloci. Pertanto sono
adatte quando l'intervallo dei valori ammessi è molto ampio.
Sono utilizzate spesso in abbinamento con il codice VBA. Sono caratterizzate da un blocco
interno detto scroll box che può essere trascinato per un riposizionamento più veloce
all'interno del documento. Due frecce agli estremi del controllo consentono spostamenti
più precisi.
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
Iniziamo a personalizzare la Scrollbar
38 richiamando il pannello proprietà

 Indichiamo il nome del controllo (a) (Name)


 Indichiamo la variazione di valore quando
clicchiamo all'interno del controllo ma non sopra il
blocco di scorrimento (o scroll box) o sulle frecce
(b). E' un intero (LargeChange)
 Associamo una cella al nostro controllo (c)
(LinkedCell) .
 Forniamo il massimo numero intero accettato
(max) (d) e quello minimo (min) (e)
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

 Fissiamo l’orientamento della scrollbar (f)


(Orientation)
 Indichiamo la variazione del valore ad ogni click
(passo) sulle frecce (g). Deve essere un intero.
(SmallChange)
 L’eventuale valore iniziale (h) – (Value)

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


SCROLLBAR - Modulo
39
Se invece si vuole utilizzare l’altra tipologia di scrollbar che sfrutta i
controlli modulo dobbiamo seguire questa procedura:
In Windows
Utilizzando il bottone «Inserisci» sistemiamo una scrollbar sul foglio di lavoro corrente

Excel per Windows


Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Se serve, con il tasto destro del mouse,


possiamo visualizzare le maniglie e quindi
ridimensionare il controllo.

Mediante un drag & drop con il tasto destro


possiamo riposizionare il controllo cliccando
al termine sulla voce «Sposta»
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
Definiamo le proprietà del
40 controllo tramite il menu
contestuale «Formato controllo…»
(attivabile con un click con il tasto
destro del mouse).
Dopo aver richiamato il pannello
«controllo» della finestra "Formato
oggetto"
1. Impostiamo il valore corrente (a)
2. Il valore intero minino … (b)
3. … e quello massimo (c)
4. Indichiamo il passo (avanzamento)
(d)
5. Digitiamo il passo associato al click
all'interno della barra di
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

scorrimento (Avanzamento di
pagina). (e)
6. Associamo una cella al nostro
controllo (Collegamento cella). (f)

Si osservi che il controllo scrollbar accetta


unicamente valori numerici interi compresi
in un determinato intervallo.
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
In Apple
41 Per aggiungere una scrollbar ci basta selezionare l'icona "Barra di
scorrimento" nel ribbon "Sviluppatore" e poi procedere con l'inserimento
del controllo mediante un semplice click sul foglio di lavoro.

Per riposizionare un controllo dobbiamo cliccarci sopra con il tasto destro del mouse
(oppure ctrl+click) e successivamente spostare l'oggetto nella posizione desiderata.

Excel per Mac


Sempre con il tasto destro del mouse
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

(ctrl+click) visualizziamo le maniglie e


successivamente ridimensioniamo il controllo

Una volta richiamate le maniglie del


controllo è possibile anche
riposizionarlo mediante una semplice
operazione di drag & drop.

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


42
Definiamo le proprietà del
controllo mediante il menu
contestuale «Formato
controllo…» (attivabile con
un ctrl+click del mouse).

Dopo aver richiamato il pannello «controllo»


nella finestra "Formato oggetto"
1. Impostiamo il valore corrente (a)
2. Il valore intero minino … (b)
3. … e quello massimo (c)
4. Indichiamo il passo (avanzamento) (d)
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

5. Digitiamo il passo associato al click


all'interno della barra di scorrimento
(Avanzamento di pagina) (e)
6. Associamo una cella al nostro controllo
(Collegamento celle). (f)

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


SPINBOX - ActiveX
43
Vediamo come si aggiungono gli SpinBox (pulsante di selezione).
Utilizzando il bottone «Inserisci» selezioniamo l’icona evidenziata nella
sezione «Controlli ActiveX» e disponiamo lo spinbox sul foglio di lavoro
corrente.
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Gli spinbox vengono generalmente usati per scorrere un intervallo di interi ordinato e
finito.

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


Iniziamo a personalizzare lo
44 Spinbox richiamando il
pannello delle proprietà

(a) Indichiamo il nome del controllo (Name)


(b) Associamo una cella al nostro controllo
(LinkedCell).
(c) Forniamo il numero intero massimo
(max) ammesso …
(d) … e quello minimo (min)
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

(e) Fissiamo l’orientamento dello spinbox


(Orientation)
(f) Indichiamo la variazione del valore ad
ogni click (passo). Deve essere un intero.
(SmallChange)
(g) L’eventuale valore iniziale (Value)

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


SPINBOX - Modulo
45
Se invece si vuole utilizzare l’altra tipologia di spinbox che sfrutta i
controlli modulo dobbiamo seguire questa procedura:
In Windows
Utilizzando il bottone «Inserisci» mettiamo lo spinbox sul foglio di lavoro corrente

Excel per Windows


Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Se serve, con il tasto destro del mouse, possiamo


visualizzare le maniglie e quindi ridimensionare il
controllo.

Mediante un drag & drop con il tasto destro


possiamo riposizionare il controllo cliccando al
termine sulla voce «Sposta»
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
46
Definiamo le proprietà del controllo
tramite il menu contestuale
«Formato controllo…» (attivabile
con un click con il tasto destro del
mouse).

Dopo aver richiamato il pannello


«controllo» nella finestra "Formato
oggetto"
1. Impostiamo il valore corrente (a)
2. Il valore intero minino … (b)
3. … e quello massimo (c)
4. Indichiamo il passo (avanzamento) (d)
5. Associamo una cella al nostro
controllo (Collegamento cella). (e)
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Si osservi che il controllo spinbox accetta


unicamente valori numerici interi compresi in
un determinato intervallo.

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


In Apple
47 Per inserire uno spinbox ci basta selezionare l'icona del "Casella di
selezione" nel ribbon "Sviluppatore" e poi procedere con l'inserimento del
controllo mediante un semplice click sul foglio di lavoro.
Per riposizionare un controllo dobbiamo cliccarci sopra con il tasto destro del mouse
(oppure ctrl+click) e successivamente spostare l'oggetto nella posizione desiderata.

Excel per Apple


Sempre con il tasto destro del
mouse (ctrl+click) visualizziamo
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

le maniglie e successivamente
ridimensioniamo il controllo

Una volta richiamate le maniglie del


controllo è possibile anche
riposizionarlo mediante una semplice
operazione di drag & drop.

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


Definiamo le proprietà del
48 controllo tramite il menu
contestuale «Formato
controllo…» (attivabile con un
click destro del mouse).

Dopo aver richiamato il pannello


«controllo» della finestra "Formato
oggetto"
1. Impostiamo il valore predefinito (a)
a
2. Il valore intero minino … (b)
3. … e quello massimo (c) b
4. Indichiamo il passo (avanzamento) (d) c
5. Associamo una cella al nostro d
controllo (LinkedCell). (e)
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

Si osservi che il controllo spinbox accetta unicamente valori numerici interi compresi in
un determinato intervallo. Non esistono spinbox orizzontali nei controlli modulo.

Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi


TOGGLEBUTTON - ActiveX
49
Vediamo come si aggiungono i Togglebutton (interruttori). Utilizzando il
bottone «Inserisci» selezioniamo l’icona evidenziata nella sezione
«Controlli ActiveX» e disponiamo 3 interruttori sul foglio di lavoro
corrente.
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

I togglebutton vengono spesso


usati come alternativa ai Utilizzando il copia ed incolla aggiungiamo i
checkbox e ai radiobutton successivi controlli disponendoli in base alle
nostre esigenze.
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi
Iniziamo a personalizzare il Togglebutton
50 richiamando il pannello delle proprietà

(a) Indichiamo il nome del controllo (Name)


(b) Impostiamo la dimensione automatica (utile se
inserisco nel controllo un’immagine!)
(c) Definiamo l’etichetta (Caption)
(d) Associamo una cella al nostro controllo
(LinkedCell).
(e) Selezioniamo un’immagine (opzione facoltativa)
da utilizzare nel controllo (Picture)
(f) Posizioniamo l’immagine rispetto all’etichetta
(PicturePosition)
(g) Definiamo l’eventuale valore iniziale (true 
Corso di VBA di Microsoft EXCEL – VB1 - I controlli

interruttore premuto) – (Value)

Non esiste un corrispondente del togglebutton nei


controlli modulo!
Corso A - DM66 – VBA di Microsoft EXCEL: I controlli Istruttore: Marco Sechi

Potrebbero piacerti anche