Condividi:        

Excel, Convalida, ricerca dati nell'elenco creato

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, Convalida, ricerca dati nell'elenco creato

Postdi circe » 04/01/13 17:40

Ciao a tutti,
di nuovo su excel:
ho predisposto con il Convalida un elenco (articoli di magazzino) che contiene più di 1000 "scelte" e il menù a tendina è perciò lunghissimo.
Ho provato a iniziare a scrivere direttamente sulla cella (es. mar per martello) sperando che mi aiutasse con la compilazione automatica ma ho capito che non è collegata ai miei dati di origine della tendina. C'è qualche sistema per evitare di scorrere tutto il mio elenco?
Sto cercando di costruire un file semplice per la fatturazione immediata e la descrizione degli articoli porta via un sacco di tempo!
Grazie
circe
Newbie
 
Post: 4
Iscritto il: 17/12/12 01:21
Località: Venezia

Sponsor
 

Re: Excel, Convalida, ricerca dati nell'elenco creato

Postdi peppo55 » 06/01/13 21:48

Ciao circe

inserisci la versione di Excel che usi.

potresti suddividere gli articoli in varie categorie così da snellire l'elenco. In questo modo è possibile creare due Convalida dati Elrnco, una che visualizza le categorie e l'altra che contiene tutti gli articoli della categoria scelta.
L'alternativa alla convalida dati è utilizzare una ComboBox che ti permette di digitare il nome di un articolo presente nell'elenco.
peppo

Excel 2010
peppo55
Utente Senior
 
Post: 167
Iscritto il: 30/09/12 13:51

Re: Excel, Convalida, ricerca dati nell'elenco creato

Postdi circe » 07/01/13 13:11

Grazie peppo!
Vediamo cosa riesco a fare, cerco info sulla ComboBox (che non conosco) e poi provo!
circe
Newbie
 
Post: 4
Iscritto il: 17/12/12 01:21
Località: Venezia

Re: Excel, Convalida, ricerca dati nell'elenco creato

Postdi Anthony47 » 09/01/13 00:38

Invio una bozza che lavora sul combobox, probabilmente quanto aveva in mente peppo55: http://rapidshare.com/files/2732436354/ ... n%202).xls

In Foglio2 ho inserito come esempio un elenco di nominativi, in Foglio3 nelle celle F1:F20 e' previsto il "combobox" che aiuta a scegliere il valore da inserire.
L' oggetto Combobox consente all' utente di inserire un valore e/o di sceglierlo da un elenco associato; nel lavoro proposto, man mano che l' utente digita qualcosa nel combobox l' elenco delle voci proposte viene rivisto per includere solo le righe dell' elenco originale che contengono la stringa che e' stata digitata, consentendo cosi' l' affinamento della ricerca.
Il combobox non e' normalmente visibile, ma compare alla selezione di una delle celle che lo prevedono, attivato da una macro di Selection_Change di Foglio3.
Purtroppo nel collaudo ho avuto una serie di comportamenti non lineari, e il funzionamento e' abbastanza rigido, e cioe:
-si seleziona una delle celle predisposte su Foglio3; con i parametri inseriti nella macro di Worksheet_Change e' l' area F1:F20 in giallo.
-compare il combobox alla destra della cella; potrebbe comparire l' intero elenco "sorgente", oppure non comparire ancora nessun elenco.
-si comincia a digitare, ad esempio "mar", e nell' elenco comparira' un numero ridotto di voci; continuando a digitare ad esempio "maria" l' elenco comprendera' solo le maria o mariangela o dimaria, o voci simili
-quando l' elenco lo consente, si scorre col mouse e si clicca sulla voce desiderata; questo popolera' la cella col valore prescelto e nascondera' il combobox. Non usare le frecce per muoversi nell' elenco, ma solo il mouse (la "freccia" provoca la scelta della prima voce in elenco).
-e' anche possibile digitare un valore non contenuto nell' elenco, ma in questo caso per uscire dal combobox bisognera' selezionare una diversa cella usando il mouse.
-se la cella selezionata contiene gia' un valore, questo diventa il valore iniziale del combobox; ne consegue che l' elenco presentato nel combobox sara' filtrato di conseguenza, e probabilmente prima di poter fare una nuova scelta andra' cancellato il valore presente, come si trattasse di una errata digitazione.
-per la logica descritta, non sara' possibile cancellare direttamente il contenuto di una delle celle a cui e' associato il combobox; bisognera' selezionare la cella, cancellare il contenuto all' interno del combobox, selezionare un' altra cella per far scomparire il combobox.
-e' invece possibile selezionare e cancellare PIU' CELLE adiacenti, perche' in caso di selezione multipla il combobox non viene attivato.
Per i comportamenti non lineari di cui ho detto prima ho dovuto usare una colonna di servizio sul foglio corrente per ricalcolare l' elenco in funzione di quanto digitato nel combobox; ho usato la colonna Z, ma puo' essere variato.
Anche la posizione della tabella sorgente puo' essere variata, come pure l' area a cui e' associata la combobox.
Queste impostazioni corrispondono alle righe marcate <<< nel codice della macro Worksheet_Change.

Nel caso che sullo stesso foglio di lavoro si debba attivare lo stesso processo ma con diverse tabelle sorgenti (es una tabella di descrizione materiali e una con elenco clienti), la cosa piu' semplice e' di definire piu' "sorgenti" che fanno riferimento ad area diverse (es Sorgente0 = "Foglio2!A1:A1000", poi Sorgente1 = "Foglio2!C1:C1000") e poi associare un sorgente piuttosto che un altro al combobox; questo e' fatto dall' istruzione mySplit = Split(Sorgente, "!") che dovra' essere articolato maggiormente, in modo da avere mySplit una volta associato a Sorgente0 e un' altra a Sorgente1.

Proprio per i comportamenti non lineari che ho avuto mi piacerebbe se anche altri volessero collaudare il comportamento e riferirmi il risultato; il file contiene anche un esperimento con una combobox su userform, dove pero' il combobox si rifiuta di visualizzare l' elenco su 10 righe, comprimendolo solo su 1 rendendo esasperante lo scorrimento con i tasti di scroll up e scroll down: Lavora in modo manuale su Foglio2 (che deve essere attivato prima di attivare manualmente la userform); la colonna e' solo di debug e N viene usata per visualizzare quello che dovrebbe essere l' elenco presentato dalla combobox, mentre il popolamento del combobox e' fatto usando il metodo AddItem nella macro di ComboBox1_Change. Anche qui, chi volesse provare e illuminarmi su che cosa non va mi farebbe un piacere.

Spero che lo spunto sia di qualche utilita'.

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

Re: Excel, Convalida, ricerca dati nell'elenco creato

Postdi Flash30005 » 09/01/13 02:14

E' molto interessante quanto ha fatto Anthony
L'unica cosa è che "prende" tutte le righe contenenti le lettere inserite nel combobox mentre, forse, è meglio prendere quelle che iniziano con le lettere che si digitano come mi sembra abbia richiesto Circe
circe ha scritto:(es. mar per martello)


Per ottenere ciò è sufficiente modificare una riga (condizione If) esistente nella macro "ComboBox1_Change"
Codice: Seleziona tutto
       ' If InStr(1, myOrigSource(I, 1), .Text, vbTextCompare) > 0 Then  '<<< riga esistente da commentare
        If UCase(.Text) = UCase(Left(Trim(myOrigSource(I, 1)), Len(.Text))) Then  '<<<< riga da aggiungere


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel, Convalida, ricerca dati nell'elenco creato

Postdi peppo55 » 09/01/13 17:13

Ciao Flash30005

e perche' non tutte e due le possibilità ?
Sia prendere tutte le righe contenenti le lettere inserite nel combobox sia prendere quelle che iniziano con le lettere che si digitano. Magari invece di una combobox far apparire a lato della cella un piccolo userform con combobox e due optionbutton, in modo da scegliere il tipo di ricerca.

un saluto ad Anthony47
peppo

Excel 2010
peppo55
Utente Senior
 
Post: 167
Iscritto il: 30/09/12 13:51

Re: Excel, Convalida, ricerca dati nell'elenco creato

Postdi Zoro76 » 14/03/13 09:13

Buon giorno a tutti

ho provato a scaricare il file di Anthony ma non è più reperibile. Probabilmente ho una richiesta similare a quella di Circe.

In attesa di poter "curiosar"e sul file cerco di spiegare comunque il mio problema.

Ho predisposto un file per la gestione dei miei progetti. Ho creato 2 fogli (Nicofer, Caltiber) perché ho 2 ditte che mi danno lavoro (fortunatamente).
Quello che vorrei fare è (nel foglio FATTURE) far compilare in automatico le fatture dei miei progetti in base a 4 criteri.
- 1° criterio: il mio cliente: Nicofer o Caltiber = range C13:F13 del foglio Fatture
su questo criterio di basa tutto il resto;
- 2° criterio: il nr del progetto = colonna A dei due fogli
- 3° criterio: il solaio = colonna C dei due fogli

Nel foglio fatture ho preparato delle userform per poter gestire la compilazione della fattura. Ho creato un tasto per far partire la userform (Genera Fattura). Il pulsante "Inserisci PROGETTO" mi fa aprire un'altra userform ed è proprio questa che mi piacerebbe usare per compilare la mia fattura.
Il foglio fattura l'ho compilato come esempio con i quali dati che devo riportare in base ai criteri 2-3.

Ora non so se si può imbastire qualcosa del genere. Eventualmente mi piacerebbe aggiungere un 4° criterio: colonna J dei due foglio = se c'è scritto "OK" allora non prendere in considerazione quella riga nella scelta del progetto.

Ringrazio a prescindere per l'attenzione.
allego il mio file.
http://my.rapidshare.com/Zoro76/5752
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: Excel, Convalida, ricerca dati nell'elenco creato

Postdi Anthony47 » 14/03/13 10:06

Il vecchio file e' ora disponibile qui: http://rapidshare.com/files/2732436354/ ... n%202).xls

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

Re: Excel, Convalida, ricerca dati nell'elenco creato

Postdi Zoro76 » 14/03/13 10:17

Grazie Anthony. Ora ci do un'occhiata.
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: Excel, Convalida, ricerca dati nell'elenco creato

Postdi pippopippo18 » 01/10/14 18:01

Ragazzi,
mi servirebbe un aiuto dopo che sono stato ad impazzire per trovare una discussione che riguardasse il mio quesito (identico a questo post).

L'unico aiuto che chiedo è, se possibile, di ripristinare i file di esempio per il download, dato che ora non sono più disponibili.


Chi mi aiuta gentilmente ?


Grazie 1000 a tutti per la disponibilità e per questo bellissimo forum
pippopippo18
Newbie
 
Post: 3
Iscritto il: 01/10/14 17:58


Re: Excel, Convalida, ricerca dati nell'elenco creato

Postdi pippopippo18 » 02/10/14 09:20

Sono sicurissimo che mi tornerà utile, anche perchè ho le stessissime necessità che richiedeva questo post.

Grazie
pippopippo18
Newbie
 
Post: 3
Iscritto il: 01/10/14 17:58


Torna a Applicazioni Office Windows


Topic correlati a "Excel, Convalida, ricerca dati nell'elenco creato":


Chi c’è in linea

Visitano il forum: Nessuno e 34 ospiti