Condividi:        

[Excel] Menu a tendina

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: [Excel] Menu a tendina

Postdi ALF2010 » 02/11/10 21:36

Anthony47 ha scritto:Premesso che il codice suggerito e' stato collaudato senza problemi, prova comunque a modificare nel modo piu' convenzionale:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$D$22" Then Range("E22, F22").ClearContents
If Target.Address = "$E$22" Then Range("F22").ClearContents
Application.EnableEvents = True
End Sub

Copia dal forum e incolla nell' editor delle macro, non trascriverla, dopo aver cancellato il codice precedente.

Ciao


Ciao Antony,

grazie ancora per il tuo sostegno, provando e riprovando alla fine sono riuscito in questo modo:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$D$13" Then Range("D15:D18").ClearContents
If Target.Address = "$D$15" Then Range("D16:D18").ClearContents
If Target.Address = "$D$16" Then Range("D17:D18").ClearContents
If Target.Address = "$D$17" Then Range("D18").ClearContents
Application.EnableEvents = True
End Sub

ma ho una domanda, nel form vorrei unificare tre celle C con D ed E chiaramente se lo faccio il codice sopra non funziona, puoi darmi un consiglio?

grazie

Ciao

AL
ALF2010
Utente Junior
 
Post: 11
Iscritto il: 26/10/10 18:41

Sponsor
 

Re: [Excel] Menu a tendina

Postdi Anthony47 » 03/11/10 00:11

Puoi leggere qui cosa penso delle celle unite: viewtopic.php?f=26&t=85065

Pertanto, per il tuo bene, non ti daro' nessun consiglio su come realizzare la cosa.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Menu a tendina

Postdi ALF2010 » 04/11/10 07:12

Anthony47 ha scritto:Puoi leggere qui cosa penso delle celle unite: viewtopic.php?f=26&t=85065

Pertanto, per il tuo bene, non ti daro' nessun consiglio su come realizzare la cosa.

Ciao


Sono d'accordo con te, ma in questo caso non sto elaborando un foglio di calcolo, ma un semplice form per la raccolta di informazioni, si tratta di un DATA SHEET (DATI TECNICI) dove excel deve aiutare l'utente proponendo le risposte ed eliminando i campi non necessari in base alla scelta effettuata in una cella precedente.
Forse non era nemmeno corretto farlo su Excel, ma avendo ereditato un modello preparato su Excel ho effettuato le modifiche sullo stesso.

grazie

ciao
AL
ALF2010
Utente Junior
 
Post: 11
Iscritto il: 26/10/10 18:41

Re: [Excel] Menu a tendina

Postdi ALF2010 » 04/11/10 08:07

Ciao a tutti,

qualcuno mi può dare una dritta su come rendere sempre visibile il pulsante del menu a tendina senza dover cliccare prima nella cella?

grazie

ciao
AL
ALF2010
Utente Junior
 
Post: 11
Iscritto il: 26/10/10 18:41

Re: [Excel] Menu a tendina

Postdi Anthony47 » 04/11/10 12:29

Prova a usare la versione 2015 :D di excel, con le versioni attuali (mi risulta che) non si puo' fare.
Potresti inserire un "disegno" della freccia, ma poi o proteggi il foglio oppure devi riposizionare al suo posto questa forma in continuazione, diciamo a ogni SelectionChange, per evitare che l' utente ne cambi la posizione.
Per questo userai istruzioni del tipo
Codice: Seleziona tutto
ActiveSheet.Shapes("NomeImmagine").Top = Range("IndirizzoCella").Top
ActiveSheet.Shapes("NomeImmagine").Left = Range("IndirizzoCella").Left+ Range("IndirizzoCella").Width

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Menu a tendina

Postdi ALF2010 » 06/11/10 10:02

Anthony47 ha scritto:Prova a usare la versione 2015 :D di excel, con le versioni attuali (mi risulta che) non si puo' fare.
Potresti inserire un "disegno" della freccia, ma poi o proteggi il foglio oppure devi riposizionare al suo posto questa forma in continuazione, diciamo a ogni SelectionChange, per evitare che l' utente ne cambi la posizione.
Per questo userai istruzioni del tipo
Codice: Seleziona tutto
ActiveSheet.Shapes("NomeImmagine").Top = Range("IndirizzoCella").Top
ActiveSheet.Shapes("NomeImmagine").Left = Range("IndirizzoCella").Left+ Range("IndirizzoCella").Width

Ciao


Beh è una proposta per la prossima versione :D,
ho inserito un disegno della freccia esattamente dove appare quella di excel, al disegno della freccia ho aggiunto la macro che mi hai proposto. Ma non ho capito come deve funzionare il collegamento del disegno alla funzione di aprire il menu a tendina.
Per favore puoi spiegarlo,
grazie

ciao
AL
ALF2010
Utente Junior
 
Post: 11
Iscritto il: 26/10/10 18:41

Re: [Excel] Menu a tendina

Postdi Anthony47 » 06/11/10 14:06

Hum... credo di aver sbagliato nel suggerire il disegno della freccina, perche' tale metodo presupponeva che l' utente avrebbe dovuto selezionare la cella e poi cliccare nella nuova freccina del menu' a discesa creando pero' un po' di confusione come interfaccia utente.
Credo che a questo punto la cosa migliore sia usare un "combobox" (ne trovi una versione semplice nella barra degli strumenti Moduli e una piu' sofisticata tra gli Strumenti di controllo) a cui associ l' intervallo di convalida e una cella di output.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Menu a tendina

Postdi ALF2010 » 07/11/10 20:41

Anthony47 ha scritto:Hum... credo di aver sbagliato nel suggerire il disegno della freccina, perche' tale metodo presupponeva che l' utente avrebbe dovuto selezionare la cella e poi cliccare nella nuova freccina del menu' a discesa creando pero' un po' di confusione come interfaccia utente.
Credo che a questo punto la cosa migliore sia usare un "combobox" (ne trovi una versione semplice nella barra degli strumenti Moduli e una piu' sofisticata tra gli Strumenti di controllo) a cui associ l' intervallo di convalida e una cella di output.

Ciao


Pensavo di aver finito invece ho dovuto investirci un sacco di lavoro :eeh: comunque ho risolto in questo modo:

Private Sub Menu1_Change()
'Pulisce la lista
Menu2.Clear
'Ricerca i dati nel foglio1
With Worksheets("StdGear").Range("D160:D184")
Set c = .Find(Menu1.Value, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Menu2.AddItem Worksheets("StdGear").Cells(c.Row, c.Column + 1)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End Sub

Private Sub Menu2_Change()
'Pulisce la lista
Menu3.Clear
'Ricerca i dati nel foglio1
With Worksheets("StdGear").Range("G160:G268")
Set c = .Find(Menu2.Value, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Menu3.AddItem Worksheets("StdGear").Cells(c.Row, c.Column + 1)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End Sub

Private Sub Menu3_Change()
'Pulisce la lista
Menu4.Clear
'Ricerca i dati nel foglio1
With Worksheets("StdGear").Range("J160:J218")
Set c = .Find(Menu3.Value, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Menu4.AddItem Worksheets("StdGear").Cells(c.Row, c.Column + 1)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End Sub

chissa che qualcuno ha bisogno di fare un lavoro simile, funziona perfettamente.
Ringrazio ancora Anthony per l'aiuto mi è stato molto utile.

Ciao
AL
ALF2010
Utente Junior
 
Post: 11
Iscritto il: 26/10/10 18:41

Re: [Excel] Menu a tendina

Postdi Anthony47 » 07/11/10 23:49

Se funziona allora va bene cosi', anche se non dicendo come sono organizzati i tuoi dati la soluzione e' di scarsa riutilizzazione.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Menu a tendina

Postdi ALF2010 » 08/11/10 20:11

Anthony47 ha scritto:Se funziona allora va bene cosi', anche se non dicendo come sono organizzati i tuoi dati la soluzione e' di scarsa riutilizzazione.

Ciao


c'è un modo per allegare un esempio?

ciao
AL
ALF2010
Utente Junior
 
Post: 11
Iscritto il: 26/10/10 18:41

Re: [Excel] Menu a tendina

Postdi Anthony47 » 09/11/10 00:34

Se non basta una descrizione testuale, allora puoi allegare un file come descritto qui: viewtopic.php?f=26&t=80395#p460098
Oppure uno screenshot come descritto qui: viewtopic.php?f=26&t=80395#p466013

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Menu a tendina

Postdi peppik2010 » 20/11/10 17:45

Salve , :)
sono da poco iscritto e trovo pertinente questa discussione a proposito della creazione di un file per una biblioteca in cui la posizione di un libro è identificabile da una doppia scelta con la seconda condizionata dalla prima.
Ho trovato molto utile la lettura delle spiegazioni fin qui svolte e le ho seguite positivamente.
Il problema sorge quando cerco di convalidare la seconda scelta facendo la procedura di convalida da elenco perchè , in analogia al vostro esempio questo corrisponderebbe alle provincie delle regioni ,e quindi è una matrice formata da righe e colonne per prendere tutte le provincie di tutte le regioni .!
Nella fase di convalida il programma mi dice che non è possibile perchè o solo righe o colonne !!
Mi aiutate a capire dove sbaglio ?
Grazie
peppik2010
Newbie
 
Post: 8
Iscritto il: 20/11/10 17:26

Re: [Excel] Menu a tendina

Postdi peppik2010 » 20/11/10 18:45

Sono di nuovo qui,
ho pensato di fare una modifica alla formula =SCARTO(..... (CONFRONTA ... )) di cui si parla nel forum per risolvere il mio problema precedentemente spiegato per cui sono andato nella cella dove avevo immesso la formula ...ma non la vedo più e questo anche dopo aver fatto la procedura per mostrare le formule e non i valori . !
Mi sapete dire come mai ?
Grazie
peppik2010
Newbie
 
Post: 8
Iscritto il: 20/11/10 17:26

Re: [Excel] Menu a tendina

Postdi Anthony47 » 20/11/10 21:06

Ciao peppik2010 e benvenuto nel forum.
Per favore non chiederci di capire che cosa hai fatto, ma descrivicelo con dovizia di particolari, cosi' diventa piu' facile dare contibuti per la loro possibile soluzione.
E' anche utile descrivere la struttura dei tuoi dati, o tramite un file di esempio o (se semplici da replicare) uno screenshot; trovi le istruzioni qui: viewtopic.php?f=26&t=80395#p460098

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Menu a tendina

Postdi peppik2010 » 21/11/10 10:20

Ciao e grazie ,
cerco di spiegarmi meglio:
ho un progetto di libreria i cui campi sono :Titolo , Autore , Genere , Posizione.
La posizione si deve sdoppiare in due campi perchè alla colonna A corrispondono diversi ripiani ovvero la posizione corrispondente alla prima scelta si articola poi in 8 livelli e quindi , in analogia all'esempio che riportate con le Regioni e le corrispondenti Provincie , faccio prima la Scelta1 o Sceltan e per ciascuna di queste esistono 8 livelli per cui se scegliessi scelta2 poi nel campo successivo devo poter scegliere fra 8 possibili livelli ovvero , nell'esempio Scelta2 e a fianco si deve aprire il sottoelenco specifico di scelta2 ovvero Scelta2A o scelta2B etc.
Tutta la prima parte relativa alla convalida per "Scelta1 ...Sceltan" funziona benissimo con le formule che ho trovato sul forum e cioè in sintesi :"SCARTO( ...CONFRONTA(...) ...)" e poi con "INDIRETTO(..)" nella cella successiva.
Il mio problema sorge quando devo poi convalidare la cella per la seconda scelta perchè io faccio la procedura classica e già fatta per la convalida di Scelta1 ma quando cerco di dire che per la seconda convalida deve prendere , come penso , fra tutti i possibili valori , questi costituiscono una matrice e non più una singola colonna come per la prima convalida e quindi mi risponde che non è possibile prendere righe e colonne !!
Dove sbaglio ?

Come ulteriore domanda chiedo come fare per far riapparire la formula usata nela prima scelta ; non riesco più a vedere quella formula sulla quale potrei sbariare a fare qualche modifica , pensavo che emergesse nel pannello VBA ma non è così booo ?
peppik2010
Newbie
 
Post: 8
Iscritto il: 20/11/10 17:26

Re: [Excel] Menu a tendina

Postdi peppik2010 » 24/11/10 15:59

Salve ,
non so se sono stato chiaro , altrimenti dovrei postare il file ma ho letto di problemi .
In attesa di istruzioni.
Grazie
peppik2010
Newbie
 
Post: 8
Iscritto il: 20/11/10 17:26

Re: [Excel] Menu a tendina

Postdi Anthony47 » 24/11/10 22:41

Personalmente non ho capito l' organizzazione dei dati; per allegare un file puoi usare un server di filesharing come descritto qui: viewtopic.php?f=26&t=80395#p460098 o uno screenshot come descritto nel messaggio successivo (viewtopic.php?f=26&t=80395#p466013).

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Menu a tendina

Postdi peppik2010 » 26/11/10 16:51

Per il momento non riesco a postarti con jdownloads e quindi vorrei semplicemente questa risposta legata al vostro esempio:
Il sottoelenco del vostro esempio è formato da tutte le provincie di ciascuna regione .
Quindi ci sono tante colonne quante regioni e per ogni colonna tutte le rispettive provincie , Giusto ?
Quando si deve validare la cella per questo sottoelenco per la scelta della provincia ,dopo aver scelto la regione nella cella precedente, si deve indicare un intervallo che va dalla prima provincia della prima regione fino all'ultima provincia dell'ultima regione e qui compare la scritta che mi dice che non è consentito . Perchè
Grazie
peppik2010
Newbie
 
Post: 8
Iscritto il: 20/11/10 17:26

Re: [Excel] Menu a tendina

Postdi Anthony47 » 28/11/10 01:24

Hai un messaggio privato da leggere che ti ho scritto venerdi' sera...

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Menu a tendina

Postdi peppik2010 » 29/11/10 17:46

Ti ringrazio del messaggio privato , e poi perchè privato ?
ma esportare in csv non mi risolve il problema.
Posso chiederti di rispondere semplicemente a questa :

di Anthony47 » 19/07/06 01:31
A questo punto creiamo un range dinamico: Menu ->Inserisci ->Nome ->Definisci; si apre la finestra di Definisci nome; nel campo in alto scrivi DINA1 mentre nel campo in basso


ma qual'è il range dinamico DINA1 ????
è non è la matrice righe e colonne di tutte le provincie ?
peppik2010
Newbie
 
Post: 8
Iscritto il: 20/11/10 17:26

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Menu a tendina":


Chi c’è in linea

Visitano il forum: Nessuno e 17 ospiti