Risultati da 1 a 18 di 18

Discussione: Macro per azzerare filtri di una tabella



  1. #1
    L'avatar di GabrieleJax
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Umbria
    Messaggi
    7
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    0

    Macro per azzerare filtri di una tabella

    Ciao a tutti,

    ho un database formattato come tabella. Questo database ha una decina di campi e qualche centinaio di records. Sui nomi dei campi sono presenti dei filtri.
    Poichè spesso mi trovo a dover azzerare i filtri uno ad uno al fine mostrare tutto il database, vorrei fare una macro che in automatico:

    - se non c'è nessun filtro attivo, eseguendo tale macro non succede nulla
    - se invece è presente almeno un filtro attivo, li azzera tutti mostrando dunque tutto il database

    Potete darmi un aiuto su come realizzare tale macro?

    Grazie

  2. #2
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1097
    Versione Office
    2010
    Likes ricevuti
    141
    Likes dati
    1
    prova questa
    Codice: 
    Sub ShowAll()
    If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
    End Sub

  3. #3

    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
    Ciao,
    le righe di codice che ti servono sono queste:

    Codice: 
    sub elimina_filtri()
    If ActiveSheet.FilterMode = True Then
         ActiveSheet.ShowAllData
    End If
    end sub
    [EDIT]
    Scusa patel....
    non avevo visto la tua risposta :186:

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

  4. #4
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1125
    Ciao,
    Io uso la scorciatoia di tasti di scelta rapida CTRL+SHIFT+L
    è molto comoda e veloce..
    Ciao

  5. I seguenti 2 utenti hanno dato un "Like" a Gerardo Zuccalà per questo post:


  6. #5
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1097
    Versione Office
    2010
    Likes ricevuti
    141
    Likes dati
    1
    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Scusa patel....
    non avevo visto la tua risposta :186:
    Capita, ti ho preceduto di un soffio, mentre scrivevi io spedivo

  7. #6
    L'avatar di GabrieleJax
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Umbria
    Messaggi
    7
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    0
    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    Ciao,
    Io uso la scorciatoia di tasti di scelta rapida CTRL+SHIFT+L
    è molto comoda e veloce..
    Ciao
    Ciao Gerardo,

    ho provato la scorciatoia da te suggerita, però mi elimina i filtri, io invece vorrei che i filtri rimanessero ma venissero azzerati.
    Poi proverò il codice VBA proposto dagli altri utenti.

    Grazie

  8. #7

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2801
    Versione Office
    Excel 2013
    Likes ricevuti
    1019
    Likes dati
    977
    Citazione Originariamente Scritto da GabrieleJax Visualizza Messaggio
    Ciao Gerardo,

    ho provato la scorciatoia da te suggerita, però mi elimina i filtri, io invece vorrei che i filtri rimanessero ma venissero azzerati.
    Poi proverò il codice VBA proposto dagli altri utenti.

    Grazie
    Se applichi per due volte la combinazione di tasti suggerita da @Gerardo si elimina i filtri (azzerandolo) e si applica di nuovo

    OT: Molto bello il tuo Avatar:255:

  9. #8
    L'avatar di GabrieleJax
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Umbria
    Messaggi
    7
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    0

    Re: Macro per azzerare filtri di una tabella

    Ciao a tutti,

    ho provato a scrivere questa macro:

    Codice: 
    Sub Macro3()
    '
    ' Macro3 Macro
    '
    
    If ActiveSheet.FilterMode = True Then
         ActiveSheet.ShowAllData
    End If
    
        Range("A2").Select
        Selection.End(xlDown).Select
        Selection.End(xlToRight).Select
    End Sub
    per, come prima cosa, deselezionare i filtri se presenti, e poi mettersi sulla cella in basso a destra di una tabella (in allegato il file .xlsm cui faccio riferimento). Però la macro non funziona correttamente, nel senso che ho notato che se ho almeno un filtro attivo ed eseguo la macro, mi si seleziona la cella in basso a destra della tabella ma i filtri non si azzerano. Se poi rieseguo la stessa macro, allora si azzerano anche i filtri. Anche voi, scaricando il file allegato, notate la stessa cosa? Se sì, come mai accade?

    OT @Rubik72: sono un fan del cubo di rubik!
    File Allegati File Allegati

  10. #9

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2801
    Versione Office
    Excel 2013
    Likes ricevuti
    1019
    Likes dati
    977

    Re: Macro per azzerare filtri di una tabella

    Citazione Originariamente Scritto da GabrieleJax Visualizza Messaggio
    [...] se ho almeno un filtro attivo ed eseguo la macro, mi si seleziona la cella in basso a destra della tabella ma i filtri non si azzerano. Se poi rieseguo la stessa macro, allora si azzerano anche i filtri. Anche voi, scaricando il file allegato, notate la stessa cosa? Se sì, come mai accade?
    No. a me fa esattamente quello che hai scritto. Puoi descrivere il caso esatto in cui ti da il problema?

    Citazione Originariamente Scritto da GabrieleJax Visualizza Messaggio
    OT @Rubik72: sono un fan del cubo di rubik!
    Anch'io. si vede?:230:

  11. #10
    L'avatar di GabrieleJax
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Umbria
    Messaggi
    7
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    0

    Re: Macro per azzerare filtri di una tabella

    Citazione Originariamente Scritto da Rubik72 Visualizza Messaggio
    No. a me fa esattamente quello che hai scritto. Puoi descrivere il caso esatto in cui ti da il problema?


    Anch'io. si vede?:230:

    Io vorrei che eseguendo la macro una volta sola i filtri si azzerano e si seleziona la cella in basso a destra. Invece quello che succede a me è che:

    - se applico un filtro, mi metto su una cella fuori dalla tabella ed eseguo la macro, eseguendo la macro solo una volta mi seleziona la cella in basso a destra ma non mi azzera i filtri. Per azzerarli devo rieseguire la macro una seconda volta.
    - se applico un filtro, mi metto su una cella dentra la tabella ed eseguo la macro, in una sola volta disattiva i filtri e mi seleziona la cella in basso a destra.

    C'è modo di evitare di lanciare la macro 2 volte se la cella attiva sta fuori dalla tabella. Come soluzione mi viene in mente di modificare la macro dicendogli di selezionare la cella A1 prima di eseguire l'IF. è corretto ciò o c'è un altro modo?

  12. #11

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2801
    Versione Office
    Excel 2013
    Likes ricevuti
    1019
    Likes dati
    977

    Re: Macro per azzerare filtri di una tabella

    Ora sono con il cellulare e non posso provare.
    Prova così:
    aggiungi un range("a2").select prima di activesheet.showalldata
    Dovrebbe funzionare

    Inviato dal mio GT-I9301I utilizzando Tapatalk

  13. #12

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1011
    Versione Office
    .
    Likes ricevuti
    364
    Likes dati
    0

    Re: Macro per azzerare filtri di una tabella

    Ciao,
    - se applico un filtro, mi metto su una cella fuori dalla tabella ed eseguo la macro, eseguendo la macro solo una volta mi seleziona la cella in basso a destra ma non mi azzera i filtri. Per azzerarli devo rieseguire la macro una seconda volta.
    - se applico un filtro, mi metto su una cella dentra la tabella ed eseguo la macro, in una sola volta disattiva i filtri e mi seleziona la cella in basso a destra.
    se ho capito bene, questo è un modo (valido sul tuo file di esempio):
    Codice: 
    Sub Macro3()
      With [Tabella1]
        If .Parent.FilterMode And Not Intersect(ActiveCell, [Tabella1]) Is Nothing Then
          .Parent.ShowAllData
        End If
      End With
      With [Tabella1].SpecialCells(xlCellTypeVisible)
        .Areas(.Areas.Count).Cells(.Rows.Count, .Columns.Count).Select
      End With
    End Sub

  14. #13

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1011
    Versione Office
    .
    Likes ricevuti
    364
    Likes dati
    0

    Re: Macro per azzerare filtri di una tabella

    semplificazione:
    Codice: 
    Sub Macro3()
      If ActiveSheet.FilterMode And Not Intersect(ActiveCell, [Tabella1]) Is Nothing Then
        ActiveSheet.ShowAllData
      End If
      With [Tabella1].SpecialCells(xlCellTypeVisible)
        .Areas(.Areas.Count).Cells(.Rows.Count, .Columns.Count).Select
      End With
    End Sub

  15. #14

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1011
    Versione Office
    .
    Likes ricevuti
    364
    Likes dati
    0

    Re: Macro per azzerare filtri di una tabella

    Dannazione!! non mi fa modificare i messaggi precedenti.
    Codice: 
    Sub Macro3()
      With ActiveSheet
        If .FilterMode And Not Intersect(ActiveCell, [Tabella1]) Is Nothing Then .ShowAllData
      End With
      With [Tabella1].SpecialCells(xlCellTypeVisible)
        .Areas(.Areas.Count).Cells(.Rows.Count, .Columns.Count).Select
      End With
    End Sub

  16. #15

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2801
    Versione Office
    Excel 2013
    Likes ricevuti
    1019
    Likes dati
    977

    Re: Macro per azzerare filtri di una tabella

    Ciao @scossa, sono fuori e non posso provare, ma la tua routine toglie il filtro se è attivo e se la cella selezionata è nella tabella, ma Gabriele voleva togliere il filtro anche se su seleziona una cella fuori. Magari mi sbaglio e ritiro tutto

    Inviato dal mio GT-I9301I utilizzando Tapatalk

  17. #16

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1011
    Versione Office
    .
    Likes ricevuti
    364
    Likes dati
    0

    Re: Macro per azzerare filtri di una tabella

    @rubik: "....ma Gabriele voleva togliere il filtro anche se su seleziona una cella fuori.." no, leggi bene:
    se applico un filtro, mi metto su una cella ***fuori dalla tabella*** ed eseguo la macro, eseguendo la macro solo una volta mi seleziona la cella in basso a destra *** ma non mi azzera i filtri ***

  18. #17
    L'avatar di GabrieleJax
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Umbria
    Messaggi
    7
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    0

    Re: Macro per azzerare filtri di una tabella

    Ciao,

    confermo che è come dice rubik, ossia vorrei poter azzerare i filtri di una tabella anche se la cella selezionata quando faccio partire la macro non appartiene alla tabella.

    Devo ancora verificare ma, come ha scritto rubik, penso che mi basti aggiungere la riga range("a2").select all'inizio della macro.

  19. #18

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1011
    Versione Office
    .
    Likes ricevuti
    364
    Likes dati
    0

    Re: Macro per azzerare filtri di una tabella

    Ciao,

    avevo letto male la tua richiesta.

    Questo codice dovrebbe funzionare correttamente:

    Codice: 
    Sub Macro3()
      With [Tabella1].ListObject.AutoFilter
        If .FilterMode Then .ShowAllData
      End With
      With [Tabella1]
        .SpecialCells(xlCellTypeVisible).Find("*", LookIn:=xlValues, after:=.Cells(1, 1), SearchDirection:=xlPrevious).Select
      End With
    End Sub

Discussioni Simili

  1. Azzerare contatore in base a data
    Di Vito_Pat nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 28/02/17, 13:52
  2. [Risolto] Eliminare simbolo filtri da una tabella
    Di dade92 nel forum Domande su Excel in generale
    Risposte: 3
    Ultimo Messaggio: 27/02/17, 22:20
  3. Mantenere visible un testo a fianco di una tabella con filtri
    Di Ale64 nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 19/02/17, 16:27
  4. [Risolto] creare macro che crei filtri inteligenti
    Di luka71 nel forum Domande su Excel VBA e MACRO
    Risposte: 68
    Ultimo Messaggio: 08/11/16, 11:57
  5. Problema visualizzazione tabella filtri excel
    Di mistero! nel forum Domande su Excel in generale
    Risposte: 1
    Ultimo Messaggio: 09/06/16, 12:46

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
  •