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

[Excel] Menu a tendina

Postdi al3ssio » 17/07/06 22:59

ciao a tutti,

sapete dirmi come fare per inserire un menu a tendina in una cella di word?

Poi posso copiarlo?

E, cosa ancor più difficile, posso mettere due menu in due celle adiacenti e fare in modo che la scelta del primo menu mi influenzi gli elementi che compaiono nel secondo menu a tendina? (Un po' come scegliere la regione e poi avere nel munu solo le province di quella regione...)

Grazie mille!!!

Alessio
al3ssio
Utente Senior
 
Post: 239
Iscritto il: 08/05/04 15:59

Sponsor
 

Postdi Alexsandra » 18/07/06 17:05

Stiamo parlando di Word o di Excel
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi al3ssio » 18/07/06 17:08

excel!
al3ssio
Utente Senior
 
Post: 239
Iscritto il: 08/05/04 15:59

Postdi Alexsandra » 18/07/06 17:15

Clik col Dx sulla barra degli strumenti e scegli moduli dal menù che ti appare scegli "Casella combinata" e la trascini sul foglio.
A questo punto puoi decidere se lavorare con Excel(clik col Dx sopra e nella finestra che ti appare scegli le celle in cui andare a "pescare" i dati che compariranno) ovviamente devi prendere un'area del foglio libera e mettere in colonna i tuoi dati.
A questo associ il valore ad ogni scelta verrà asseganto per default il valore (1,2,3,4,5 che sarebbe l'ordine di scelta ) e quì puoi associare una macro per caricare la corrispondenza al valore selezionato.

Ok. se avevi un pò di confusione adesso è totale :lol: :lol: faccio un pò di prove e più tardi ti posto un esempio che facciamo prima
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi Anthony47 » 19/07/06 01:31

Ciao Alessio,
insomma vuoi mettere su delle celle una Convalida da lista, con la seconda lista dipendente dalla prima.
Se le liste sono statiche, come con regioni e province, lo facciamo tutto da excel.
Sul Foglio2 del tuo file ti fai un elenco in verticale con l' elenco delle Regioni, e questo elenco lo chiami ELE1; supponiamo che sia in colonna A, da A1 ad A20 (giacche’ le regioni sono 20).
Accanto, assegniamo al range C1:V1 (quindi 20 celle) il nome ELEH.
Mettiamo in C1 la formula
Codice: Seleziona tutto
=SCARTO(ELE1;RIF.COLONNA()-MIN(RIF.COLONNA(ELEH));0)
che devi confermare NON con Enter MA con Contr+Shift+Enter, e che poi copiamo fino a V1; a questo punto dovremmo avere da C1 a V1 lo stesso elenco di regioni che c’ e’ da A1 ad A20.
Ora sotto ogni Regione elencata in orizzontale, mettiamoci le sue Province; magari per vedere l’ effetto compila solo un paio di elenchi di province, il resto lo metterai se ti soddisfa il risultato.
Andiamo sul Foglio1, nella cella dove vogliamo inserire solo il nome di una Regione; fai Menu ->Dati ->Convalida e ti si apre la finestra di Convalida dati, tab Impostazioni; scegli Consenti Elenco, e nel campo Origine scrivi =ELE1; eventualmente compila Messaggio di input (es “Scegli da elenco”) e Messaggio di errore (es. “Solo da elenco”). Inoltre a questa cella dai il nome CONV1.
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 (Riferito a:) scrivi
Codice: Seleziona tutto
=SCARTO(ELEH,1,CONFRONTA(CONV1,ELEH,0)-1,15,1)

Infine andiamo sulla cella in cui vogliamo inserire la provincia, e ripetiamo il ciclo di Convalida dati, utilizzando la procedura di prima, ma indicando nel campo “Origine” =DINA1.

Voila.
Se vai sulla cella “regione”, ti compare la freccina e la scritta “Scegli da elenco”; se clicchi sulla freccina ti compare l’ elenco che abbiamo messo su Foglio2. Vai sulla cella “provincia” e se clicchi sulla freccina dovresti vedere le province di quella regione (come compilate su Foglio2).

Ti aiuta?

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

Postdi fefo » 20/07/06 14:15

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 (Riferito a:) scrivi
Codice: Seleziona tutto
=SCARTO(ELEH,1,CONFRONTA(CONV1,ELEH,0)-1,15,1)

Infine andiamo sulla cella in cui vogliamo inserire la provincia, e ripetiamo il ciclo di Convalida dati, utilizzando la procedura di prima, ma indicando nel campo “Origine” =DINA1.

Scusami, mi sto spaccando la testa: a me visualizza solo la prima provincia di ogni regione. E' per il fatto che nel campo "righe" della funzione SCARTO è stato messo 1?
Ciao
Federico
fefo
Newbie
 
Post: 6
Iscritto il: 14/07/06 15:30

Postdi Anthony47 » 20/07/06 14:48

URG:
nella formula di definizione di DINA1 le "virgole" devono essere cambiate in "punto-e-virgola", cioe'
Codice: Seleziona tutto
=SCARTO(ELEH;1;CONFRONTA(CONV1;ELEH;0)-1;15;1)


Scusate...
Avatar utente
Anthony47
Moderatore
 
Post: 19439
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi laborob » 27/10/07 08:25

Grazie! Molto utile.

Purtroppo però la pignoleria umana non ha limite quindi volevo sapere se ci fosse la possibilità di non lasciare spazi bianchi nelle varie tendine;mi spiego meglio:

tra le Province: Quando seleziono la Valle D'Aosta mi lascia molti spazi bianchi dopo Aosta, è possibile evitare questo?

Ancora Grazie.
laborob
Newbie
 
Post: 8
Iscritto il: 27/10/07 07:04
Località: Roma

Postdi Anthony47 » 29/10/07 02:06

Ciao laborob e benvenuto nel forum.
Ti segnalo questa seconda discussione che aveva risolto in modo forse piu’ manuale ma piu’ “esattamente”, come tu chiedi: http://www.pc-facile.com/forum/viewtopic.php?t=55049.
Il trucco e’ assegnare agli elenchi delle province un nome che corrisponde alla regione (quindi 20 nomi di range); poi usi nella seconda convalida la formula
Codice: Seleziona tutto
=INDIRETTO(A1)
(se A1 e’ la cella che contiene la regione selezionata).

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

Re: [Excel] Menu a tendina

Postdi l.mon » 09/12/09 18:56

Scusate se riesumo questo vecchio topic ma... possibile che non ci sia altra soluzione per evitare le spaziature bianche nei menù a tendina concatenati? Perché con questo metodo inevitabilmente bisogna modificare anche i nomi dei gruppi dato che nel riferimento non è possibile inserire spazi o sottotratti...
l.mon
Newbie
 
Post: 7
Iscritto il: 07/12/09 18:02

Re: [Excel] Menu a tendina

Postdi Anthony47 » 10/12/09 00:36

Come convalida puoi usare la formula
Codice: Seleziona tutto
=INDIRETTO(SOSTITUISCI(A1;" ";""))
Poi la cella potra' contenere ad esempio Reggio Emilia, ma il range lo chiamerai ReggioEmilia.

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

Re: [Excel] Menu a tendina

Postdi l.mon » 10/12/09 16:10

Grazie! Adesso i modelli sono sistemati, però è sorto un ulteriore problema sulle versioni, excel non accetta numeri nel nome dei range e questo comporta che non riesca a salvarli per usare la funzione (la prima parte del nome sarebbe la cilindrata del mezzo).
Scusate la mia insistenza ma è davvero importante per me riuscire a completare questo foglio.
l.mon
Newbie
 
Post: 7
Iscritto il: 07/12/09 18:02

Re: [Excel] Menu a tendina

Postdi Anthony47 » 11/12/09 09:20

Con un po' di fantasia:
Codice: Seleziona tutto
=INDIRETTO("_"&SOSTITUISCI(A1;" ";""))
Pero' TUTTI i tuoi nomi di inervallo dovranno iniziare com "_" (underscore).

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

Re: [Excel] Menu a tendina

Postdi l.mon » 14/12/09 09:11

Grazie! Ora funziona tutto.
l.mon
Newbie
 
Post: 7
Iscritto il: 07/12/09 18:02

Re: [Excel] Menu a tendina

Postdi zorea » 17/12/09 13:13

Ciao a tutti. ;)

C'è un modo per impedire che venga cambiata la regione dopo l'inserimento della provincia?
Chiarisco: dopo aver selezionato la regione, nel menu a tendina delle province mi appare il corretto elenco, quindi seleziono la provincia. Nulla mi vieta però di modificare nuovamente la regione. In questo modo mi ritrovo la vecchia provincia con la nuova regione selezionata.

E' possibile aggiungere questo ulteriore controllo?

Grazie,
Zorea
zorea
Utente Junior
 
Post: 48
Iscritto il: 05/06/09 15:07

Re: [Excel] Menu a tendina

Postdi Anthony47 » 17/12/09 20:29

Con una macro di Worksheet_Change fai in modo che quando cambia la Regione viene azzerata la Provincia; ad esempio:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then Range("B2").ClearContents
End Sub
Questa ipotizza che Regione sia in A2 e Provincia in B2; adatta al tuo caso (lasciando i $ dove li ho messi)
Tasto dx sul tab col nome del foglio su cui lavori, scegli Visualizza codice, copia il codice e incollalo nel frame di dx.

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

Re: [Excel] Menu a tendina

Postdi zorea » 18/12/09 11:37

Meraviglioso! :)
Grazie,
zorea
zorea
Utente Junior
 
Post: 48
Iscritto il: 05/06/09 15:07

Re: [Excel] Menu a tendina

Postdi jackal79 » 11/01/10 14:34

Innanzi tutto complimenti per il forum e un ringraziamento in anticipo per la vostra competenza e disponibilità.
Venendo al dunque:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then Range("B2").ClearContents
End Sub

Tale macro non mi funziona. C'è qualcosa che bisogna cambiare o sono io che sbaglio qualcosa?
Grazie in anticipo
jackal79
Newbie
 
Post: 3
Iscritto il: 11/01/10 14:30

Re: [Excel] Menu a tendina

Postdi Anthony47 » 11/01/10 14:47

Ciao jackal79 e benvenuto nel forum.
Ogni macro risponde a un bisogno; se non spieghi quale e' il tuo bisogno non sono in grado di fare nessun commento.

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

Re: [Excel] Menu a tendina

Postdi jackal79 » 11/01/10 20:43

Innanzi tutto grazie per la risposta.
In effetti ho fatto qualche piccolo progresso ed ho impostato la seguente macro:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D21:J21")) Is Nothing Then Exit Sub
[D22:J22,D23:J23].ClearContents
End Sub

La cosa di cui avrei bisogno è aggiungere anche la possibilità che se cambio le celle D22:J22 mi cancelli il contenuto nelle celle D23:J23.
Potrebbe sembrare una richiesta alquanto semplice e per questo vi chiedo di portare pazienza, da poco sto cominciando a cimentarmi col VBA.
Come al solito grazie in anticipo per le risposte.
jackal79
Newbie
 
Post: 3
Iscritto il: 11/01/10 14:30

Prossimo

Torna a Applicazioni Office Windows


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


Chi c’è in linea

Visitano il forum: Nessuno e 18 ospiti