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

Filtro su più colonne

Ultimo Aggiornamento: 09/10/2017 13:59
Post: 1
Registrato il: 03/10/2017
Città: MILANO
Età: 47
Utente Junior
2007
OFFLINE
03/10/2017 16:58

Ciao a tutti, mi sono iscritto al forum perchè ho visto molte discussioni e credo mi possiate aiutare, nelle discussioni ho visto e anche trovato quello che mi potrebbe servire, ossia una combobox, ma non so come personalizzarmela ma sopra tutto crearla, visto che sono una chiavica in excel.

Ora vi spiego cosa devo fare:

ho un file allievi di una associazione, devo filtrare in 5 colonne un corso specifico, così da avere solo gli allievi che frequentano quel corso.

Allego il file senza dati, le colonne dove devo fare il filtro sono Q_R_S_T_U evidenziate in giallo.

Spero mi possiate aiutare anche con una soluzione più semplice.
grazie
[Modificato da Teomat_035 03/10/2017 16:59]
Post: 3.479
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
03/10/2017 19:46

Ciao Matteo

Ma hai provato ad usare il menù Dati, Filtro sulle colonne?

Allegare un file vuoto è inutile.

Devi allegarne uno con i dati (non sensibili) e sulla base di questi mostrare il risultato che si vuole ottenere.

Alfredo
Post: 1
Registrato il: 03/10/2017
Città: MILANO
Età: 47
Utente Junior
2007
OFFLINE
03/10/2017 20:26

Ciao alfrimpa00,hai ragione [SM=x423023]
Il file contiene per ogni colonna un filtro, ma quello che serve a me è una ricerca nelle colonne corsi che sono 5.

Il file è vuoto dei dati sensibili ma ogni cella corso ha un collegamento alla lista posta sotto la tabella..

Appena riesco ne carico uno con dei dati pre inseriti..
Post: 2
Registrato il: 03/10/2017
Città: MILANO
Età: 47
Utente Junior
2007
OFFLINE
04/10/2017 08:26

Buongiorno,
come promesso carico il file con i dati inseriti.

Ho evidenziato un corso es. Canto 2 presente in 4 colonne diverse, quello che mi serve è fare un filtro che mi trovi gli iscritti e che mi nasconda quelli che non frequentano quel corso.

spero possiate darmi un aiuto

grazie.
[Modificato da Teomat_035 04/10/2017 08:33]
Post: 3.490
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
05/10/2017 11:29

Ciao Matteo e perdona il ritardo di questa mia risposta.

La struttura della tua tabella non consente di utilizzare il filtro dati per cui ho utilizzato la macro che vedi sotto per estrarre i dati dal foglio1 e metterli sul foglio "Estrazione Dati".

Tu non devi fare null'altro che scrivere il corso in B2 su "Estrazione Dati" e cliccare sul pulsante.

Questo è il codice (che va completato anche con le altre colonne attualmente vuote ma ci vuole un attimo).

vb
Sub Estrai()
Dim ur As Long
Dim rng As Range
Dim cel As Range
Set rng = Sheets("Foglio1").Range("X6:AB39")
Sheets("Estrazione Dati").Range("A6:W1000").ClearContents
For Each cel In rng
ur = Sheets("Estrazione Dati").Cells(Rows.Count, 1).End(xlUp).Row
    If cel.Value = Sheets("Estrazione Dati").Range("B2").Value Then
        Sheets("Estrazione Dati").Cells(ur + 1, 1).Value = Sheets("Foglio1").Cells(cel.Row, "a").Value
        Sheets("Estrazione Dati").Cells(ur + 1, 2).Value = Sheets("Foglio1").Cells(cel.Row, "b").Value
        Sheets("Estrazione Dati").Cells(ur + 1, 3).Value = Sheets("Foglio1").Cells(cel.Row, "c").Value
    End If
Next cel
End Sub


Ti allego il file

Fai sapere.

Alfredo
Post: 3
Registrato il: 03/10/2017
Città: MILANO
Età: 47
Utente Junior
2007
OFFLINE
05/10/2017 14:42

Grazie Alfredo,
è proprio quello che mi serviva, sei un grande.
Adesso devo solo replicarlo nel mio file e sperare di non fare casini nell'aggiungere altre righe, iusto per non fare casini, ho da chiederti due cose:

devo aggiungere righe di programma andando in successione con
[IMG]
Sheets("Estrazione Dati").Cells(ur + 1, 3).Value = Sheets("Foglio1").Cells(cel.Row, "c").Value
Sheets("Estrazione Dati").Cells(ur + 1, 3).Value = Sheets("Foglio1").Cells(cel.Row, "D").Value
Sheets("Estrazione Dati").Cells(ur + 1, 3).Value = Sheets("Foglio1").Cells(cel.Row, "E").Value
[/IMG]
Ecc. Giusto?

L'altra domanda é, c'è modo di lasciare attiva la macro sul pulsante? perchè ad ogni riavvio la devo assegnare.

grazie
Matteo
Post: 3.491
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
05/10/2017 17:12

Non è necessario scrivere per tutte le colonne.

Basta un ciclo che le "spazzoli" tutte.

Ora sono fuori; domani ti scrivo la macro

La questione del pulsante mi sembra strana.

Una assegnata la macro (e questo l'ho fatto io) non devi fare altro
[Modificato da alfrimpa 05/10/2017 17:14]

Alfredo
Post: 4
Registrato il: 03/10/2017
Città: MILANO
Età: 47
Utente Junior
2007
OFFLINE
06/10/2017 10:15

Ciao Alfredo
ho personalizzato la tua macro e funziona alla perfezione, anche con l'aggiunta di più colonne. Il problema è che mi restituisce i dati alla riga 900 circa, come faccio a far si che me li restituisca alla riga 1 come nel tuo file?

di seguito la macro modificata con evidenziato le mofiche apportate.


Sub Estrai()
Dim ur As Long
Dim rng As Range
Dim cel As Range
Set rng = Sheets("Soci Allievi").Range("Q7:U600")
Sheets("Estrazione Dati").Range("A7:U1000").ClearContents
For Each cel In rng
ur = Sheets("Estrazione Dati").Cells(Rows.Count, 1).End(xlUp).Row
If cel.Value = Sheets("Estrazione Dati").Range("B2").Value Then
Sheets("Estrazione Dati").Cells(ur + 1, 1).Value = Sheets("Soci Allievi").Cells(cel.Row, "a").Value
Sheets("Estrazione Dati").Cells(ur + 1, 2).Value = Sheets("Soci Allievi").Cells(cel.Row, "b").Value
Sheets("Estrazione Dati").Cells(ur + 1, 3).Value = Sheets("Soci Allievi").Cells(cel.Row, "c").Value
End If
Next cel
End Sub

grazie
Matteo
Post: 3.492
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
06/10/2017 10:32

Ciao Matteo

Vai a vedere sul foglio "Estrazione dati" se c'è qualcosa in A900; se si cancellalo.

Diversamente dovrei vedere il file.

Alfredo
Post: 5
Registrato il: 03/10/2017
Città: MILANO
Età: 47
Utente Junior
2007
OFFLINE
06/10/2017 11:49

Ciao Alfredo,
Scusa se sono pedante, ma sono zero in queste cose, pur lavorando in ambito programmazione.

Ti inoltro il file in originale con i fogli non interessati in bianco e i dati sensibili modificati. Ho cancellato tutte le righe della tabella ma niente, mi importa i dati sempre nelle righe attorno alla 900.

spero tu riesca a dirmi dove posso aver sbagliato nel personalizzarmi la macro.

grazie
Matteo
[Modificato da Teomat_035 06/10/2017 11:51]
Post: 3.493
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
06/10/2017 13:44

Ciao Matteo il problema è nella struttura "tabella" nel foglio "Estrazione dati".

Ora sarebbe lungo spiegare il perchè ma eliminala e vedrai che la macro funziona.

Poi, se vuoi, cercherò di spiegare ma se tu non sai nulla di VBA sarà un po' dura.

Alfredo
Post: 6
Registrato il: 03/10/2017
Città: MILANO
Età: 47
Utente Junior
2007
OFFLINE
09/10/2017 13:59

Ciao Alfredo,
Scusa il ritardo nella risposta. Dopo l'ultimo tuo consiglio sono riuscito a sistemare e far funzionare la ricerca. Ti ringrazio moltissimo, senza il tuo aiuto non ne sarei mai uscito.

Matteo
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 05:54. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com