› Excel e gli applicativi Microsoft Office › filtrare tabella con pìu criteri indipendenti
-
AutoreArticoli
-
buongiorno a tutti,ho una richiesta: ho una tabella, che continua ad aumentare dalla riga 14 in giù (quindi dinamica).Attualmente ci sono 3 prodotto, ma diverteranno centinaia. Ho creato 8 spazi per fare una ricerca nella tabella filtrando i dati e ottenendo solamente le informazioni che mi interessano: E2, E4,E6,E8 (data),I2, I4;I6;I8. tutto in formato testo (dovrebbe funzionare anche se dovessi mettere dei numeri). chiaramente filtrare uguale a quello contenente nella cella.Le celle possono essere tutte compilate, ma anche solo 1, e le altre no. quindi indipendente una dall'altra.schiacciando Filtrare, filtra i dati nella tabella e mi fa vedere solo quelli che sono stati ricercati. Se schiaccio cancella, beh torna tutto come prima.spero che qualcuno possa darmi una mano.salutiMarco
Allegati:
You must be logged in to view attached files.non riesco a modificare il post precedente, ma sono riuscito a creare i vari filtri in maniera autonoma. Però vorrei alla fine avere solo 2 tasti uno Filtra e uno Reset, che tiene conto di tutti i criteri in maniera indipendente.Ringrazio ancora salutiMarcoAllegati:
You must be logged in to view attached files.Buona sera a tutti!qualcuno è in grado di aiutarmi?vi ho ringrazio anticipatamentesalutimarcoCiaoTi allego il tuo primo file nel quale ho cambiato un po' la disposizione di alcune celle (per mia comodità ma tu puoi metterle dove di aggrada) e due pulsanti ai quali ho collegato le seguenti due macroOption Explicit Option Compare Text Sub Filtrare() Dim WS As Worksheet, ur As Long, r As Long, c As Long Dim NumProc As String, Tipo As String, NumEti As String, DatProc As String Dim pharma As String, Ditta As String, REF As String, LOT As String Set WS = Worksheets("Materiale") On Error Resume Next WS.ShowAllData On Error GoTo 0 Application.Calculation = xlCalculationManual r = 15 c = 2 ur = WS.Range("A" & Rows.Count).End(xlUp).Row If WS.AutoFilterMode = False Then WS.Range("B13:O" & ur).AutoFilter NumProc = Cells(3, 4) Tipo = Cells(4, 4) NumEti = Cells(5, 4) DatProc = Cells(6, 4) pharma = Cells(7, 4) Ditta = Cells(8, 4) REF = Cells(9, 4) LOT = Cells(10, 4) If NumProc = "" And Tipo = "" And NumEti = "" And DatProc = "" And pharma = "" And Ditta = "" And REF = "" And LOT = "" Then GoTo Xit If NumProc <> "" Then WS.Range("$B$13:O" & ur).AutoFilter Field:=1, Criteria1:=NumProc, Operator:=xlAnd End If If Tipo <> "" Then WS.Range("$B$13:O" & ur).AutoFilter Field:=2, Criteria1:=Tipo, Operator:=xlAnd End If If NumEti <> "" Then WS.Range("$B$13:O" & ur).AutoFilter Field:=5, Criteria1:=NumEti, Operator:=xlAnd End If If DatProc <> "" Then WS.Range("$B$13:O" & ur).AutoFilter Field:=6, Criteria1:=DatProc, Operator:=xlAnd End If If pharma <> "" Then WS.Range("$B$13:O" & ur).AutoFilter Field:=14, Criteria1:=pharma, Operator:=xlAnd End If If Ditta <> "" Then WS.Range("$B$13:O" & ur).AutoFilter Field:=8, Criteria1:=Ditta, Operator:=xlAnd End If If REF <> "" Then WS.Range("$B$13:O" & ur).AutoFilter Field:=10, Criteria1:=REF, Operator:=xlAnd End If If LOT <> "" Then WS.Range("$B$13:O" & ur).AutoFilter Field:=11, Criteria1:=LOT ', Operator:=xlAnd End If GoTo Uscita Xit: WS.AutoFilterMode = False Uscita: Application.Calculation = xlCalculationAutomatic Set WS = Nothing End Sub Sub Ripristina() Dim WS As Worksheet Set WS = Worksheets("Materiale") On Error Resume Next WS.AutoFilterMode = False On Error GoTo 0 Set WS = Nothing End SubVedi come ti sembra.Ciao,MarioAllegati:
You must be logged in to view attached files.Ciao Marius!grazie mille per il tuo prezioso aiuto! è perfetto e funziona alla grande. ti ringrazio ancora e ti auguro una buona giornata!saluti e alla prossimaMarcobuongiorno a tutto il gruppo, ho avuto modo di prendere ad esempio per le mie esigenze questo file modificato con il codice VBA. Ho notato però che quando inserisco la data nel filtro 'Data Procedura' non riconosce la data e perciò non mostra le righe filtrate. Mi potreste dire dove devo correggere il codice VBA? grazie
Nell'allegato di @marius44 le "Data procedura" vengono filtrate. Tu cosa hai modificato?
Ciao @aldo1959
Questa discussione ha circa 8 anni e, come recita il regolamento del forum, sarebbe il caso di non riesumarla. Piuttosto aprine una nuova, dove alleghi un tuo file di esempio con la macro su cui lavorare e, riferita ad esso, spieghi qual è il problema ed il risultato che vorresti ottenere. Quando lo farai però ricordati di pubblicare la discussione nella sezione corretta, perché questa è dedicata alle formule e problemi generici mentre l'altra è più specifica per il VBA.
Ciao.
-
AutoreArticoli
