macro per impostare più filtri contemporaneamente

Anonimo
2023-03-21T09:38:22+00:00

Ciao a tutti,

ho un file excel con molte colonne con filtri e un centinaio di righe.

3-4 colonne contengono, tra l'altro, la parola "conclusa".

Come posso fare a filtrare automaticamente le celle che contengono la parola "conclusa" (o un altro testo che decido di cercare), senza andare a filtrare colonna per colonna?

Mi aiutate postandomi una semplice macro che funzioni?

Grazie mille

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

6 risposte

Ordina per: Più utili
  1. Anonimo
    2023-03-21T13:47:06+00:00

    Sfortunatamente, non ho ulteriori problemi da offrire.

    Mi scuso se le mie risposte precedenti non sono state utili nella tua situazione.

    Molti utenti esperti sono attivi sul forum e spero che qualcun altro possa offrire ulteriori informazioni sul tuo problema.

    Grazie

    Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o espressioni strane.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2023-03-21T13:45:35+00:00

    CIAO Per creare una macro che richiede all'utente di immettere testo da filtrare e cerca in tutte le colonne del foglio di lavoro, è possibile utilizzare il codice riportato di seguito: '''VBA Sub FilterAllColumns() Dim strFilter come stringa strFilter = InputBox("Immettere testo da filtrare:") If strFilter = "" Then Exit Sub Metodo ActiveSheet.Cells.AutoFilter Con ActiveSheet.Range("A1"). CurrentRegion . Campo filtro automatico:=Matrice(1, 2, 3, 4, 5), Criteri1:="*" & strFilter & "*" Termina con Fine sub ``` Questa macro richiederà all'utente di immettere il testo da filtrare quando viene eseguito. Il testo inserito dall'utente verrà memorizzato nella variabile 'strFilter'. La riga 'ActiveSheet.Cells.AutoFilter' cancella tutti i filtri esistenti nel foglio di lavoro. The 'With ActiveSheet.Range("A1"). La riga CurrentRegion seleziona l'area corrente dei dati nel foglio di lavoro, a partire dalla cella A1. Il '. Campo filtro automatico:=Matrice(1, 2, 3, 4, 5), Criteri1:="*" & strFilter & "*"' filtra tutte le colonne dell'intervallo in base al testo immesso dall'utente. L'argomento 'Array(1, 2, 3, 4, 5)' specifica le colonne da filtrare (in questo caso, le colonne da A a E). L'argomento 'Criteria1:="*" & strFilter & "*"' specifica i criteri di filtro, che includono il testo immesso dall'utente. I caratteri '*' prima e dopo il testo consentono corrispondenze parziali in ogni cella. È possibile modificare l'argomento 'Array(1, 2, 3, 4, 5)' per includere colonne aggiuntive o cambiarlo in 'Array(1 To 100)' per filtrare tutte le colonne fino alla colonna 100, ad esempio. GRAZIE Spero che questo aiuti !!!!

    Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o espressioni strane.

    Ciao e ti ringrazio.

    Purtroppo la traduzione automatica mi traduce alcune parole del codice vba e quindi se copio in Visual Basic mi da errore di sintassi all'avvio della macro.

    Come faccio a non far tradurre la risposta automaticamente?

    Grazie ancora

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2023-03-21T11:14:44+00:00

    CIAO

    Per creare una macro che richiede all'utente di immettere testo da filtrare e cerca in tutte le colonne del foglio di lavoro, è possibile utilizzare il codice riportato di seguito:

    '''VBA Sub FilterAllColumns() Dim strFilter come stringa strFilter = InputBox("Immettere testo da filtrare:") If strFilter = "" Then Exit Sub Metodo ActiveSheet.Cells.AutoFilter Con ActiveSheet.Range("A1"). CurrentRegion . Campo filtro automatico:=Matrice(1, 2, 3, 4, 5), Criteri1:="*" & strFilter & "*" Termina con Fine sub

    
    Questa macro richiederà all'utente di immettere il testo da filtrare quando viene eseguito. Il testo inserito dall'utente verrà memorizzato nella variabile 'strFilter'. 
    
    La riga 'ActiveSheet.Cells.AutoFilter' cancella tutti i filtri esistenti nel foglio di lavoro. 
    
    The 'With ActiveSheet.Range("A1"). La riga CurrentRegion seleziona l'area corrente dei dati nel foglio di lavoro, a partire dalla cella A1. 
    
    Il '. Campo filtro automatico:=Matrice(1, 2, 3, 4, 5), Criteri1:="\*" & strFilter & "\*"' filtra tutte le colonne dell'intervallo in base al testo immesso dall'utente. L'argomento 'Array(1, 2, 3, 4, 5)' specifica le colonne da filtrare (in questo caso, le colonne da A a E). L'argomento 'Criteria1:="\*" & strFilter & "\*"' specifica i criteri di filtro, che includono il testo immesso dall'utente. I caratteri '\*' prima e dopo il testo consentono corrispondenze parziali in ogni cella.
    
    È possibile modificare l'argomento 'Array(1, 2, 3, 4, 5)' per includere colonne aggiuntive o cambiarlo in 'Array(1 To 100)' per filtrare tutte le colonne fino alla colonna 100, ad esempio.
    
    GRAZIE
    Spero che questo aiuti !!!!  
    
    *Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o espressioni strane.*
    

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2023-03-21T11:07:24+00:00

    Ciao e grazie per l'aiuto.

    Tuttavia io chiedevo due cose leggermente differenti:

    1. All'avvio della macro voglio che mi esca fuori una casella dove poter inserire il testo da filtrare;
    2. La ricerca deve essere fatta in tutte le colonne del foglio di lavoro.

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2023-03-21T10:28:15+00:00

    CIAO Carmeloprivi

    Ecco una macro di base che è possibile usare per filtrare le celle che contengono il termine "fatto" in Excel:

    Sub FilterDone()
        Set the filter range to the entire worksheet
        Set filterRange = ActiveSheet.UsedRange
        
    Set the filter criteria to cells that contain "done"
        filterCriteria = "\*fatto\*"
        
    Apply the filter
        filterRange.AutoFilter Field:=1, Criteria1:=filterCriteria
    Fine sub
    

    Per utilizzare questa macro:

    1. Apri il tuo foglio di lavoro Excel.
    2. Premere Alt + F11 per aprire l'editor VBA.
    3. Nell'editor, vai su Inserisci > modulo.
    4. Copia e incolla il codice macro sopra nel modulo.
    5. Salvare la macro e chiudere l'editor.
    6. Torna al tuo foglio di lavoro.
    7. Premere Alt + F8 per aprire la finestra di dialogo Macro.
    8. Selezionare la macro "FilterDone" e fare clic sul pulsante "Esegui".

    Questa macro filtrerà la prima colonna del foglio di lavoro per visualizzare solo le celle che contengono il termine "fatto". È possibile personalizzare l'intervallo di filtri e i criteri modificando le variabili 'filterRange' e 'filterCriteria' nel codice della macro.

    OPZIONE B.........

    Certo, ecco una macro di base in VBA che puoi usare per filtrare le celle contenenti un testo specifico:

    Sub FilterByKeyword() Parola chiave Dim come stringa keyword = "done" ' Cambia questo testo per il testo che vuoi filtrare

    Filter the active sheet by the keyword Metodo ActiveSheet.Range("A1"). Campo filtro automatico:=1, Criteri1:="*" & parola chiave & "*" Fine sub

    Per utilizzare questa macro, è sufficiente aprire il file Excel contenente i dati che si desidera filtrare, premere Alt + F11 per aprire l'editor VBA, quindi incollare il codice sopra in un nuovo modulo.

    Quindi, aggiornare la variabile della parola chiave al testo in base al quale si desidera filtrare (in questo caso, "fatto"), quindi eseguire la macro premendo F5 o facendo clic sul pulsante Esegui.

    La macro filtrerà quindi la prima colonna del foglio attivo per mostrare solo le righe contenenti la parola chiave specificata.

    Si noti che questa macro presuppone che i dati che si desidera filtrare si trovino nella prima colonna del foglio attivo (da cui il parametro Field:=1). Se i dati si trovano in una colonna diversa, sarà necessario aggiornare questo parametro di conseguenza.

    MIGLIORI SALUTI SEGUNFUNMI

    Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o espressioni strane.

    La risposta è stata utile?

    0 commenti Nessun commento