Risultati da 1 a 9 di 9

Discussione: Userform che filtra valore in più colonne



  1. #1
    L'avatar di nessi
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Milano
    Età
    53
    Messaggi
    159
    Versione Office
    2013/2016
    Likes ricevuti
    3
    Likes dati
    35

    Userform che filtra valore in più colonne

    Ciao a tutti, Rieccomi dopo parecchio tempo.

    La mia esigenza per la quale (manco a dirlo ) non riesco a venirne a capo è la seguente:
    Devo filtrare una tabella sterminata facendo in modo che mi mostri solo le righe contenenti un determinato codice che inserisco nella userform preimpostata scrivendo nella apposita textbox.
    il risultato che voglio ottenere è mostrato in calce nel file di esempio che ho allegato.
    La difficoltà che non riesco a sormontare è che il codice da filtrare può essere in più colonne. Quindi il filtro normale non posso utilizzarlo.

    Ultima complicazione, ma mi accontenterei di avere uno spunto su come ottenere il primo step, devo fare la stessa operazione per 1,2 o 3 codici diversi contemporaneamente.

    Come sempre grazie in anticipo, anche solo per aiutarmi a riordinarmi le idee.
    File Allegati File Allegati

  2. #2
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1106
    Versione Office
    2010
    Likes ricevuti
    143
    Likes dati
    1

    Re: Userform che filtra valore in più colonne

    ecco lo spunto senza utilizzare la userform
    Codice: 
    Sub FILTRA()
    s1 = "0123"
    s2 = "bello"
    s3 = "10"
    Range("AA1") = s1: Range("AB1") = s2: Range("AC1") = s3 ' <<<<<<<<< range di appoggio
    LR = ActiveSheet.UsedRange.Rows.Count
    LC = ActiveSheet.UsedRange.Columns.Count
    For r = 2 To LR
      With Range(Cells(r, 1), Cells(r, LC))
        Set c = .Find(Range("AA1:Ac1"))
        If c Is Nothing Then Rows(r).Hidden = True
      End With
    Next
    End Sub

  3. I seguenti 2 utenti hanno dato un "Like" a patel per questo post:


  4. #3
    L'avatar di nessi
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Milano
    Età
    53
    Messaggi
    159
    Versione Office
    2013/2016
    Likes ricevuti
    3
    Likes dati
    35

    Re: Userform che filtra valore in più colonne

    Grazie mille Patel!
    Ha solo un difetto. Non essendo un filtro ma nascondendo solo le righe che non interessano, purtroppo quando le copio per incollarle in un altro foglio mi incolla anche le righe nascoste.
    Però potrei impostare una routine copiando solo le celle visibili.
    Ci provo.
    Grazie mille ancora.

  5. #4

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923

    Re: Userform che filtra valore in più colonne

    Citazione Originariamente Scritto da nessi Visualizza Messaggio
    Ha solo un difetto. Non essendo un filtro ma nascondendo solo le righe che non interessano, purtroppo quando le copio per incollarle in un altro foglio mi incolla anche le righe nascoste.
    Ciao a tutti,

    @nessi
    ma il filtro è proprio quello che fa.... nasconde le righe, quindi avresti comunque lo stesso problema

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  6. #5
    L'avatar di Berna11
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Latina
    Età
    62
    Messaggi
    2283
    Versione Office
    Excel 2010
    Likes ricevuti
    907
    Likes dati
    450

    Re: Userform che filtra valore in più colonne

    Un saluto a tutti,
    @ nessi, ti propongo la mia soluzione:
    visto che il filtro normalmente viene applicato su una colonna ho creato una colonna appoggio AA dove raggruppo in questa colonna tutte quelle che interessano ed applicare il filtro solo su questa.

    Questo il codice usato:

    Codice: 
    Sub CercaB()
    Dim nom, titolo, messaggio
        
            Application.ScreenUpdating = False
            Range("AA2").Select
        Selection.AutoFill Destination:=Range("AA2:AA2000"), Type:=xlFillDefault
        Range("A1:AA2000").Select
        Selection.AutoFilter
        titolo = "Inserisci il codice"
    messaggio = "SCRIVI IL CODICE"
    nom = InputBox(messaggio, titolo)
    If nom = "" Then Exit Sub
        Selection.AutoFilter Field:=27, Criteria1:=num & "*#" & nom & "#*"
    End Sub
    Il range è fino alla riga 2000 eventualmente da modificare.

    Vedi se può esserti utile.
    File Allegati File Allegati

  7. #6
    L'avatar di nessi
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Milano
    Età
    53
    Messaggi
    159
    Versione Office
    2013/2016
    Likes ricevuti
    3
    Likes dati
    35

    Re: Userform che filtra valore in più colonne

    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Ciao a tutti,

    @nessi
    ma il filtro è proprio quello che fa.... nasconde le righe, quindi avresti comunque lo stesso problema

    fermo restando che confutare te mi suona talmente strano che quasi non ci credo e non è detto che abbia ragione io, però se eseguo un comando Cells.Select dopo che ho selezionato un filtro mi copia solo le celle visibili mentre nell'altro caso mi copia tutto. Quelle non visibili che restano hide e quelle visibili sono ... visibili.
    ad ogni modo ho sviluppato (detto da me è un abominio ma passatemela) il file che riallego.

    ----------Post unito in automatico----------

    Citazione Originariamente Scritto da Berna11 Visualizza Messaggio
    Un saluto a tutti,
    @ nessi, ti propongo la mia soluzione:
    visto che il filtro normalmente viene applicato su una colonna ho creato una colonna appoggio AA dove raggruppo in questa colonna tutte quelle che interessano ed applicare il filtro solo su questa.

    Questo il codice usato:

    Codice: 
    Sub CercaB()
    Dim nom, titolo, messaggio
        
            Application.ScreenUpdating = False
            Range("AA2").Select
        Selection.AutoFill Destination:=Range("AA2:AA2000"), Type:=xlFillDefault
        Range("A1:AA2000").Select
        Selection.AutoFilter
        titolo = "Inserisci il codice"
    messaggio = "SCRIVI IL CODICE"
    nom = InputBox(messaggio, titolo)
    If nom = "" Then Exit Sub
        Selection.AutoFilter Field:=27, Criteria1:=num & "*#" & nom & "#*"
    End Sub
    Il range è fino alla riga 2000 eventualmente da modificare.

    Vedi se può esserti utile.

    Grazie mille Berna11.
    interessante. molto. ci ragiono sopra un po' perchè a vederlo così trovo più utile quello di Cromagno ma mi interessa moltissimo per altre soluzioni a cui sto lavorando.
    File Allegati File Allegati

  8. #7
    L'avatar di Berna11
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Latina
    Età
    62
    Messaggi
    2283
    Versione Office
    Excel 2010
    Likes ricevuti
    907
    Likes dati
    450

    Re: Userform che filtra valore in più colonne

    Facendo il copia/incolla delle righe filtrate nel mio file copia solo quelle visibili.

  9. #8

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923

    Re: Userform che filtra valore in più colonne

    Citazione Originariamente Scritto da nessi Visualizza Messaggio
    fermo restando che confutare te mi suona talmente strano che quasi non ci credo e non è detto che abbia ragione io, però se eseguo un comando Cells.Select dopo che ho selezionato un filtro mi copia solo le celle visibili mentre nell'altro caso mi copia tutto. Quelle non visibili che restano hide e quelle visibili sono ... visibili.
    Ciao nessi,

    si si... hai ragione!!!
    Ero convinto, ma non usando quasi mai "filtri" non avevo "l'esperienza" per dire quello che ho detto....
    Citazione Originariamente Scritto da cromagno
    ...quindi avresti comunque lo stesso problema
    Non si finisce mai di imparare.
    Thanks per la correzione

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  10. #9
    L'avatar di nessi
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Milano
    Età
    53
    Messaggi
    159
    Versione Office
    2013/2016
    Likes ricevuti
    3
    Likes dati
    35

    Re: Userform che filtra valore in più colonne

    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Ciao nessi,

    si si... hai ragione!!!
    Ero convinto, ma non usando quasi mai "filtri" non avevo "l'esperienza" per dire quello che ho detto....

    Non si finisce mai di imparare.
    Thanks per la correzione

Discussioni Simili

  1. [Risolto] Userform Ricerca su colonne diverse
    Di tiziano64 nel forum Domande su Excel VBA e MACRO
    Risposte: 10
    Ultimo Messaggio: 27/02/17, 15:26
  2. macro per inserimento valore su colonne diverse
    Di xbux64 nel forum Domande su Excel VBA e MACRO
    Risposte: 17
    Ultimo Messaggio: 19/08/16, 17:31
  3. Cercare valore per colonne
    Di robbiecs nel forum Domande su Excel in generale
    Risposte: 12
    Ultimo Messaggio: 24/07/16, 01:04
  4. Valorizzare colonne da Userform
    Di carlo861 nel forum Domande su Excel VBA e MACRO
    Risposte: 10
    Ultimo Messaggio: 31/03/16, 20:36
  5. Macro Filtra Dati Colonne
    Di ghost69 nel forum Domande su Excel VBA e MACRO
    Risposte: 9
    Ultimo Messaggio: 22/01/16, 08:11

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •