maurogsc.eu
|
![]() |
home ==> Excel: articoli ==> Convalida - Più convalide sulla stessa riga
Convalida - Più convalide sulla stessa riga
Situazione.
Potremmo trovarci nella necessità di avere più convalide sulla stessa riga. Ad
esempio, selezionare in colonna A una Regione e avere in Colonna B la
possibilità di selezionare le relative provincie. Vediamo come possiamo fare.
Nota.
Il codice dell’esempio, scaricabile a questo link,
è commentato e nella cartella in formato .zip è
contenuto un file di Excel i formato .xls.
Il codice ed il file sono forniti *così come sono* e
l’autore declina ogni responsabilità su eventuali
problemi causati dal codice o dal file se usati
impropriamente. Utilizzate gli esempi forniti o files
di test per le vostre prove. Codice e file sono stati
testati con(e quindi validi per) Excel 2000/Xp(2002)/2003/2007/2010.
1 - Creiamo gli elenchi.
Nel foglio che ho chiamato Elenchi creiamo i nostri elenchi. In questo caso alcune
regioni d'Italia e le relative provincie.
2 - Assegniamo un nome ai nostri elenchi.
a -
Selezioniamo la scheda: Formule e facciamo click sul pulsante: Gestione nomi
b - Nella finestra che appare(Gestione nomi) facciamo click sulpulsante: Nuovo
c - Nella nuova finestra(Nuovo nome), inseriamo il nome per il nostro elenco, nel caso specifico: Regioni. I nomi non devono avere spazi o caratteri particolari. Ad esempio Emilia-Romagna o Tentino Alto Adige non sono nomi corretti. Per lo stesso motivo nell'elenco delle Regioni in colonna A, ad esempio, EmiliaRomagna non ha spazi.
d - Nella parte bassa della stessa finestra(Nuovo nome) facciamo click sul pulsante a dx della TextBox di Riferito a
e - La finestra adesso si presenta così
f - Selezioniamo con il mouse l'intervallo di celle a cui vogliamo che il nome faccia riferimento. Nel caso specifico A2: A9.
g - Controlliamo che il Range sia quello voluto e facciamo ancora click sul pulsantino a dx della TextBox Riferito a
h - Controlliamo che nome e riferimento siano corretti e facciamo click su Ok
i - Ci troviamo nuovamente nella finestra Gestione nomi che adesso ha questo aspetto
l - Ripetiamo da b a l per ciascuno dei nostri elenchi, ricordando quanto detto al punto 2c.
m - Se vogliamo che cancellando o modificando il valore in colonna A nel foglio Convalida venga automaticamente aggiornata la colonna B delo stesso foglio, inseriamo questo codice nel modulo di codice del foglio Convalida:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
If Target.Cells.Count > 1 Then Exit Sub
Set rng = Me.Range("A2:A11")
If Not Intersect(Target, rng) Is Nothing Then
With Target
.Offset(0, 1).Value = ""
End With
End If
Set rng = Nothing
End Sub
3 - Andiamo a mettere le convalide nel Range A2:A11 e B2:B11.
a - Selezioniamo le celle A2:A11 nel foglio: Convalida
b - Selezioniamo la scheda Dati e facciamo click sul pulsante: Convalida dati
c - In Consenti selezioniamo: Elenco
d - In Origine scriviamo: =Regioni compreso il simbolo di uguale (ricordo che Regioni è il nome che abbiamo assegnato all'elenco regioni nel foglio Elenchi)
e - Ok
f - Selezioniamo adesso le celle B2:B11 nel foglio Convalida
g - In Consenti selezioniamo: Elenco
h - In Origine scriviamo: =INDIRETTO(A2) compreso il simbolo di uguale
i - Ok
Non ci resta che provare....
Per ulteriori informazioni su Microsoft Excel ed il suo Visual Basic, utilizzate
questo forum:
http://social.answers.microsoft.com/Forums/it-IT/officeexcelit/threads
Ultimo aggiornamento di questa pagina: 21/03/2011 - mauro gamberini