Macro per eliminare filtri

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Frappo.2003
00venerdì 3 marzo 2017 17:28
Buonasera,

avrei necessità di costruire una macro che, alla chiusura o al lancio del file, mi cancella i filtri inseriti nelle varie tabelle (presenti in vari fogli della cartella di lavoro).

So come si imposta una macro al lancio ma non riesco a trovare un comando che mi cancelli i filtri dalle tabelle di tutti i fogli (non eliminare i filtri, solo cancellarli).

Grazie mille,

Frappo300
alfrimpa
00venerdì 3 marzo 2017 19:11
Se ho capito bene prova questa macro da inserire nel modulo di ThisWorkbook

vb
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
For i = 1 To Sheets.Count
    If Sheets(i).AutoFilterMode = True Then
        Sheets(i).AutoFilterMode = False
    End If
End Sub
patel45
00venerdì 3 marzo 2017 19:20
in questi casi così semplici basta attivare il registratore di macro, effettuare manualmente l'operazione, fermare il registratore e la macro è pronta
alfrimpa
00venerdì 3 marzo 2017 19:27
Hai perfettamente ragione Andrea

Io l'ho scritta solo perchè si trattava di procedura evento contenente un ciclo For che non si possono creare con il registratore.
patel45
00venerdì 3 marzo 2017 22:53
Non ho ragione Alfredo, non avevo letto attentamente la richiesta di Frappo, scusatemi.
Frappo.2003
00lunedì 6 marzo 2017 09:22
Grazie!
Grazie mille per la risposta.
Purtroppo mi da errore perché non è presente il comando next alla fine del ciclo for. L'ho inserito ma mi fornisce un altro errore - autofiltermode non utilizzabile per i worksheet.

Grazie per la disponibilità
alfrimpa
00lunedì 6 marzo 2017 09:40
Frappo allega il tuo file di esempio.
Frappo.2003
00lunedì 6 marzo 2017 13:08
Ecco qui un file simile.

Grazie mille
alfrimpa
00lunedì 6 marzo 2017 13:56
Ciao Frappo

Prova così.

vb
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
For i = 1 To Sheets.Count
    If Sheets(i).AutoFilterMode = True Then
        Sheets(i).AutoFilterMode = False
    End If
Next i
ActiveWorkbook.Save
End Sub
Frappo.2003
00lunedì 6 marzo 2017 15:39
Grazie mille! Fantastico!!!!

Per caso potete consigliarmi un modo per imparare il VBA? Link, video, libri..
Ho fatto un po' di programmazione (C++ e Matlab) ma mi piacerebbe imparare meglio..

Grazie davvero!
alfrimpa
00lunedì 6 marzo 2017 15:43
A questo link trovi un pdf con un corso sul VBA fatto molto bene; ovviamente è solo l'inizio.

https://www.dropbox.com/s/igpcld8arpofztd/Ebook%20VBA.pdf?dl=0
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 06:33.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com