| | 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 ( ) 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 | |
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
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
scusa Tore, solo una curiosità':
definisci MyCombo ma non la utilizzi, come mai?
O mi sfugge qualcosa?
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 | |
tanimon, 19/08/2018 17.36:
Ciao a tutti
scusa Tore, solo una curiosità':
definisci MyCombo ma non la utilizzi, come mai?
O mi sfugge qualcosa?
ciao
Frank
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"
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 | |
Ciao, fai una cosa, al primo rigo in alto ce scritto:
fai copia incolla di questo in testa al Modulo1, cioè dopo "Option Explicit" se esiste, e modifica "Private" in "Public", che diventa
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
[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. |
|
|