Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Menù a tendina con ricerca automatica

Ultimo Aggiornamento: 29/08/2018 13:43
Post: 16
Registrato il: 29/03/2012
Città: LADISPOLI
Età: 50
Utente Junior
2016
OFFLINE
17/08/2018 18:18

Buongiorno Ragazzi.
Sono un gelatiere che si occupa di formazione in giro per il mondo, sto creando un programma per la costruzione di ricette gelato in portoghese però vorrei creare un menù a tendina con ricerca automatica delle parole vi spiego brevemente quello di cui avrei bisogno:
1) Nel file in allegato troverete 4 fogli, il foglio principale è quello che si chiama receita, in questo foglio vengono create le ricette per fare il gelato, tutto a sinistra trovate una colonna con scritto ingrediente, cliccando nelle varie caselle si apre un menù a tendina che prende gli ingredienti dal database creato con convalida dati, ed inserendo le quantità nella colonna quantidade automaticamente mi prende tutti i valori nutrizionali di quel determinato ingrediente presenti nel database e me li riporta nelle varie tabelline presenti in receita di açucares, gordura, proteinas ecc attraverso una funzione cerca verticale presente in foglio 1.
A questo punto la mia richiesta è, sarebbe possibile creare un menù nella colonna ingredienti dove cliccando nelle varie celle si apre un menù a tendina dove cominciando ad inserire il nome dell'ingrediente automaticamente me lo trova? Ossia senza dover scorrere i vari ingredienti ogni volta fino a trovarlo (calcolate che ora ci sono poco più di 30 ingredienti ma a volte si arriva ad avere database con più di 200 ingredienti). In più una volta trovato l'ingrediente sarebbe possibile (come fa adesso) che inserendo i grammi automaticamente mi calcolasse tutti i valori nutrizionali nelle varie tabelle aòucares, gordura, proteinas ecc.?

Scusandomi per la lunghezza del messaggio ringrazio in anticipo tutti coloro che vorranno rispondere ed aiutarmi.
Post: 217
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Junior
2016
OFFLINE
17/08/2018 23:15

Buonasera
mettiti in A2 del Foglio RECEITA
DATI
CONVALIDA DATI
ELENCO
in origine incolla

=SCARTO('DATA BASE'!$A$2;CONFRONTA(A2&"*";'DATA BASE'!$A$2:$A$40;0)-1;;CONTA.SE('DATA BASE'!$A$2:$A$40;A2&"*");)

poi vai nella scheda messaggio di errore e togli la spunta a
"mostra messaggio di errore quando i dati immessi non sono validi"

dai OK poi aggancia la cella A2 e trascina in basso per estendere la convalida alle altre celle della colonna
Post: 16
Registrato il: 29/03/2012
Città: LADISPOLI
Età: 50
Utente Junior
2016
OFFLINE
18/08/2018 00:06

Grazie Mille Danilo, funziona benissimo, scusa se sembro un po rompi c...... ma sarebbe possibile una cosa tipo che quando inserisco le prime lettere all'interno di una delle celle della colonna ingrediente già mi si apre una lista corrispondente a quella lettera alfabetica o chiedo troppo?
Comunque di nuovo grazie mille e se non si può fare mi va benissimo anche così.
Post: 219
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Junior
2016
OFFLINE
18/08/2018 19:27

Ciao
Se lo vuoi fare con le formule di più non si può...devi mettere le lettere e poi cliccare sulla freccia della tendina...altrimenti si deve ricorrere al VBA e qui non è terreno di mia competenza
Un saluto
Post: 659
Registrato il: 02/08/2015
Utente Senior
Excel 2013
OFFLINE
19/08/2018 12:10

Ciao a tutti,

come consigliato da Danilo ( [SM=g27811] ) potresti usare il vba...
Ad esempio una UserForm con 10 ComboBox che appare quando clicchi sul range A2:A11



Dopo aver costruito la UserForm, nel modulo di classe del foglio "RECEITA" scriverai:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("A2:A11")) Is Nothing Then
        UserForm1.Show
    End If
End Sub


mentre il codice per gestire la userform e i suoi controlli:
Option Explicit

Private Sub CommandButton1_Click()
    Dim i As Byte
    
    For i = 1 To 10
        Range("A" & i + 1).Value = Me.Controls("ComboBox" & i).Value
    Next i
    Unload UserForm1
End Sub

Private Sub CommandButton2_Click()
    Unload UserForm1
End Sub

Private Sub UserForm_Initialize()
    Dim MyCombo As Control
    Dim i As Byte
    Dim j As Long
    Dim uRiga As Long
    Dim DataBaseIngr As Worksheet
    Dim MyMatr()
    
    Set DataBaseIngr = ThisWorkbook.Worksheets("DATA BASE")
    With DataBaseIngr
        uRiga = .Range("A" & .Rows.Count).End(xlUp).Row
        ReDim MyMatr(1 To uRiga - 1)
        For j = 2 To uRiga
            MyMatr(j - 1) = .Cells(j, 1).Value
        Next j
    End With
    
    For i = 1 To 10
        For j = 1 To UBound(MyMatr)
            Me.Controls("ComboBox" & i).AddItem MyMatr(j)
        Next j
    Next i
End Sub


Ciao
Tore


"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Post: 5.455
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
19/08/2018 17:13

Ricette Gelati
Ciao, eccoti un altro metodo con il Combobox nel foglio, non devi fare altro che selezionare la cella dell'ingrediente, compare il Combobox ed incominci a scrivere l'ingrediente, ti da l'autocompletamento oppure apri il menu a tendina.

una volta scelto l'ingrediente, dai Invio, tutto qui.

allego il file.

Ciao By Sal [SM=x423051]

P.S. ti metto il link, non riesco a caricarlo non so perche

http://www.filedropper.com/ricettegelato





[Modificato da by sal 19/08/2018 17:16]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 1.178
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
19/08/2018 17:36

Ciao a tutti [SM=x423028]
scusa Tore, solo una curiosità':
definisci MyCombo ma non la utilizzi, come mai?

O mi sfugge qualcosa?
[SM=x423059]

ciao
Frank







Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
Post: 660
Registrato il: 02/08/2015
Utente Senior
Excel 2013
OFFLINE
19/08/2018 18:13

Re:
tanimon, 19/08/2018 17.36:

Ciao a tutti [SM=x423028]
scusa Tore, solo una curiosità':
definisci MyCombo ma non la utilizzi, come mai?

O mi sfugge qualcosa?
[SM=x423059]

ciao
Frank



[SM=x423038]

Ciao Frank,
si, hai ragione....
inizialmente volevo usare un ciclo "For Each ...Next" per ciclare i controlli della userform per individuare dalla proprietà "Name" quali erano le Combobox per popolarle, ma mentre scrivevo mi è sembrato più logico usare la variabile "i" (quindi usando un ciclo For i ...Next) e mi son dimenticato di eliminare la variabile "MyCombo" [SM=x423023]

Ciao
Tore


[Modificato da cromagno 19/08/2018 18:14]


"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Post: 17
Registrato il: 29/03/2012
Città: LADISPOLI
Età: 50
Utente Junior
2016
OFFLINE
23/08/2018 22:25

Bè! che dire grazie a tutti ragazzi, proverò i due metodi e vi faccio sapere, siete grandi, Danilo visto che tu sei di Roma noi abbiamo anche una scuola a Roma in zona bravetta se vuoi passare ti regalo 1 kg di gelato o anche di più, ovviamente l'invito vale anche per tutti gli altri se capitate a Roma gelato gratis per tutti.
Post: 18
Registrato il: 29/03/2012
Città: LADISPOLI
Età: 50
Utente Junior
2016
OFFLINE
23/08/2018 22:44

Senza offesa per nessuno ma la soluzione di sal mi sembra la più semplice da usare, anche perchè molti degli alunni del corso non sanno usare excel quindi ribadisco i ringraziamenti e chiudo la discussione.
Post: 19
Registrato il: 29/03/2012
Città: LADISPOLI
Età: 50
Utente Junior
2016
OFFLINE
27/08/2018 11:12

Ciao Sal, scusa il disturbo ma la macro della combo box ha cominciato a dare questo errore.
Post: 5.460
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
27/08/2018 17:11

Combobox
Ciao, fai una cosa, al primo rigo in alto ce scritto:

Private rr,cc


fai copia incolla di questo in testa al Modulo1, cioè dopo "Option Explicit" se esiste, e modifica "Private" in "Public", che diventa

Public rr,cc



ed elimina la scritta "Private rr,cc" nel modulo della Userform, vediamo se è quello, altrimenti se da lo stesso errore dobbiamo vedere cosa lo scatena, al limite allegami il file, che controllo.

ma molte volte da quell'errore anche perche non è stata selezionata la cella per far comparire il Combobox, oppure si è selezionata un altra cella e poi si è tornato sul Combobox e dato invio.

rr,cc, non sono altro che la riga e la colonna della cella selezionata, per far comparire il combobox nella cella selezionata, se quando è comparso il combobox si seleziona un altra cella logicamente rr,cc non sono quelle di prima.

Ciao By Sal [SM=x423051]

[Modificato da by sal 27/08/2018 17:17]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 20
Registrato il: 29/03/2012
Città: LADISPOLI
Età: 50
Utente Junior
2016
OFFLINE
29/08/2018 13:43

Ciao Sal.
Il problema non lo da sempre, ti dico la verità non ho capito quale sia la casistica, però cancellando i dati e ricominciando tutto da capo non lo da più quindi lo lascio così, poi glie lo spiego al corso come fare.
Grazie per la tua disponibilità sei un grande.
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 12:44. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com