| | Post: 37 | Registrato il: 18/06/2010
| Città: LUGO | Età: 70 | Utente Junior | Excell 2016 | | OFFLINE | |
|
09/02/2017 15:19 | |
Salve , avrei una domanda da porre agli esperti in materia:
Che codice posso usare per poter filtrare una tabella, in base alla scelta fatta mediante valore indicato in una ComboBox e il risultato copiarlo in secondo foglio ????
allego il file.
Ringrazio anticipatamente per eventuali suggerimenti |
|
| | Post: 2.725 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
09/02/2017 16:19 | |
Ciao Roberto
Scusa ma non capisco.
Nella combo della userform compaiono Brano, Autore, Anno e B/S
Una volta selezionato uno di questi che deve succedere?
Alfredo |
| | Post: 37 | Registrato il: 18/06/2010
| Città: LUGO | Età: 70 | Utente Junior | Excell 2016 | | OFFLINE | |
|
09/02/2017 18:22 | |
Ciao Alfredo, una volta selezionato uno dei valori della ComboBox, vorrei che mi venisse filtrato e copiato tutto sul foglio2.
ESEMPIO:nella Combo di Autore seleziono Beatles , mi deve trovare tutti i brani scritti dai Beatles e copiarli nel Foglio2
GRAZIE |
| | Post: 38 | Registrato il: 18/06/2010
| Città: LUGO | Età: 70 | Utente Junior | Excell 2016 | | OFFLINE | |
|
09/02/2017 18:35 | |
...Scusa Alfredo mi sono accorto ora che nella Userform non ho messo una TextBox dove inserire il dato da cercare [Modificato da roberto pironi 09/02/2017 18:43] |
| | Post: 2.726 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
09/02/2017 18:54 | |
Ciao Roberto
Ti riallego il tuo file perché secondo me c'erano diversi errori.
Questo è il codice associato all'apertura della userform
vb Private Sub UserForm_Initialize()
Dim ur As Long
Dim i As Long
ur = Worksheets("Foglio1").Cells(Rows.Count, "C").End(xlUp).Row
For i = 2 To ur
Me.ComboBox1.AddItem Range("C" & i)
Next i
End Sub
e questo è il codice associato al pulsante sulla form.
vb Private Sub CommandButton1_Click()
Dim ur As Long
Dim lr As Long
Dim rng As Range
Dim cel As Range
lr = Worksheets("Foglio1").Cells(Rows.Count, "C").End(xlUp).Row
Set rng = Worksheets("Foglio1").Range("C2:c" & lr)
Worksheets("Foglio2").Range("B2:E100").ClearContents
For Each cel In rng
ur = Worksheets("Foglio2").Cells(Rows.Count, "B").End(xlUp).Row
If cel.Value = Me.ComboBox1.Value Then
Worksheets("Foglio2").Cells(ur + 1, 2).Value = cel.Offset(0, -1).Value
Worksheets("Foglio2").Cells(ur + 1, 3).Value = cel.Value
Worksheets("Foglio2").Cells(ur + 1, 4).Value = cel.Offset(0, 1).Value
Worksheets("Foglio2").Cells(ur + 1, 5).Value = cel.Offset(0, 2).Value
End If
Next cel
Me.Hide
End Sub
Nella combo sulla userform dovrai scegliere l'autore e poi clicca su "Cerca e Copia".
Sulla form andava messo un CommandButton non un ToggleButton.
Non so se ho interpretato bene la tua richiesta.
Prova e fai sapere. [Modificato da alfrimpa 09/02/2017 18:55]
Alfredo |
| | Post: 40 | Registrato il: 18/06/2010
| Città: LUGO | Età: 70 | Utente Junior | Excell 2016 | | OFFLINE | |
|
10/02/2017 13:52 | |
Ti ringrazio tantissimo Alfredo ... fa assolutamente al caso mio.
Ho adattato i tuoi suggerimenti al mio programma e funziona perfettamente
Di nuovo grazie
Roberto |
| | Post: 41 | Registrato il: 18/06/2010
| Città: LUGO | Età: 70 | Utente Junior | Excell 2016 | | OFFLINE | |
|
13/02/2017 11:57 | |
Scusa Alfredo se ne approfitto ancora , ma avrei un altro problema:
vorrei aggiungere anche un filtro per l'anno. Ho provato modificare il tuo codice .... ma niente non mi copia nulla
Come posso fare ???
Ti ringrazio
Roberto |
| | Post: 2.759 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
13/02/2017 14:10 | |
Ciao Roberto
Eccoti il file.
Alfredo |
| | Post: 42 | Registrato il: 18/06/2010
| Città: LUGO | Età: 70 | Utente Junior | Excell 2016 | | OFFLINE | |
|
13/02/2017 14:20 | |
Perfetto !!!
Grazie infinite
Ciao
Roberto |
|
|