Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
come detto sopra
vedi esempio
https://www.dropbox.com/s/5ev7it55bnll9y6/convalida\_dati\_variabile.xlsx
ciao
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Buongiorno.
Vorrei risolvere, se possibile il seguente problema.
Nella cella A1 ho impostato una Convalida-Dati con range fisso, diciamo $K$1:$K$20.
Nella cella B1 ho impostato una Convalida-Dati con un range che vorrei fosse variabile (tramite VBA), al variare del valore di A1.
E' possibile?
Grazie delle risposte.
Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.
Risposta accettata dall'autore della domanda
come detto sopra
vedi esempio
https://www.dropbox.com/s/5ev7it55bnll9y6/convalida\_dati\_variabile.xlsx
ciao
Risposta accettata dall'autore della domanda
Buongiorno.
Vorrei risolvere, se possibile il seguente problema.
Nella cella A1 ho impostato una Convalida-Dati con range fisso, diciamo $K$1:$K$20.
Nella cella B1 ho impostato una Convalida-Dati con un range che vorrei fosse variabile (tramite VBA), al variare del valore di A1.
E' possibile?
Grazie delle risposte.
Capito poco.
Questo codice, da copia/incollare nel modulo di codice DEL FOGLIO, varia il range K(n):K(n) al quale applicare la convalida dati in base a quanto indicato nella cella A1:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Call m(Target.Value)
End If
End Sub
Private Sub m(ByVal sRng As String)
With Me.Range(sRng).Validation
Me.Range("K:K").Validation.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="=mioElenco"
End With
End Sub
In effetti, rileggendo il post non ho detto alcune (se non parecchie) cose.
Tutto nasce dall'esigenza di sostituire n.3 combobox con n.3 celle con convalida-dati, perchè mi sembrano molto più veloci.
In un foglio ho il database formato da circa 1000 righe e due colonne.
In un altro foglio ho la progettazione: Questa si svolge su tre celle: A1, A2 e A3.
I valori a convalida-dati di A1 sono fissi, tipo SC1, SC2 e SC3.
Vorrei che quando viene selezionato il valore SC1 della cella A1, nella cella A2 il range della convalida-dati sia D1-D200 del foglio database. A sua volta, se nella cella A2, scelgo il valore della cella D120 del database, il range della convalida-dati della cella A3 diventi D701-D800.
Se invece il valore della cella A1 è SC2, nella cella A2 il range diventi D301-D500, ecc.
E' possibile?
Grazie infinite.
Scusa se ho spiegato poco...
Comunque mi piacerebbe sapere anche il significato del codice. Ad esempio mioElenco come lo imposto?
si'
prendi un altro elenco "fisso" esempio $L$1:$L$20
dove pero' i valori presenti non sono fissi, ma sono delle formule, esempio in L1
=indice(M1:Z1;1;$B$2)
ciao
mauro27