vba voor uitschakelen van filter in excel

Status
Niet open voor verdere reacties.

Robert Smidt

Gebruiker
Lid geworden
26 mei 2009
Berichten
901
Beste Helpmij'ers,

Bestaat er ook een vba-code die een filter (deze bevindt zich in werkblad "Rit & uren adm." --> kolom C --> regel 3), die wanneer deze op een willekeurige selectie staat de selectie uit zet?

Alvast heel erg bedankt.

Robert
 
Ik denk het wel! Maar plaats even een voorbeeldbestand.
 
bv.

Code:
Sheets("Rit & uren adm.").AutoFilterMode = False
 
Uitschakelen lijkt mij niet verwijderen.
Code:
if [COLOR=#3E3E3E]Sheets("Rit & uren adm.")[/COLOR].filtermode then [COLOR=#3E3E3E]Sheets("Rit & uren adm.")[/COLOR].showalldata
 
Bedankt voor jullie hulp. Helaas werkt de code niet, ik heb het even een testmodule gezet, maar er gebeurt niets en geeft ook geen melding dat er iets fout is. Kan het ook zijn dat deze het niet doet omdat ik op iedere kolom een filter heb staan?

Code:
Sub test()
Sheets("Rit- & uren adm.").AutoFilterMode = False
End Sub
 
Plaats het bestand dan maar eens.
De code van mij zet de filters uit, die van @VenA verwijderd ze.
 
kan het ook te maken hebben omdat ik een tabel heb aangemaakt en alle kolommen voorzien zijn van filters? Het bestand is heel erg groot, ik zal zelf even een testprogramma aanmaken en het daar uitproberen.
 
Nee.
Tabel of geen tabel, filters worden uitgezet als ze aan staan.
 
Heb je meerdere tabellen in dat werkblad?
 
Ik heb even demo programma gemaakt en ben er achter waar de fout zit. Deze doet het prima als alle cellen gevuld zijn, wanneer ik een paar cellen leeg maak (in de regel waar ik de selectie op heb staan) werkt de code niet meer.
 
Plaats dan eens de demo.
 
De Bekijk bijlage Test.xlsm

Ik ben inmiddels weer wat verder. Mijn vorige conclusie was niet juist (toeval). Wanneer ik op de betreffende geselecteerde regel sta werkt de code, echter wanneer ik op een andere regel of ander werkblad sta, werkt de code niet.
 
test dit maar eens.
Code:
Sub hsv()
 With Sheets("Rit- & uren adm.")
  If .ListObjects(1).AutoFilter.FilterMode Then
     If .ListObjects(1).AutoFilter.Filters.Count Then .ListObjects(1).AutoFilter.ShowAllData
   End If
 End With
End Sub

Mochten de filters om wat voor redenen niet meer aanwezig zijn kun je de filters terug plaatsen om een eventuele foutmelding te voorkomen.
Onderstaande werkt net als de eerste, maar korter en beter.
Code:
Sub hsv()
 With Sheets("Rit- & uren adm.").ListObjects(1)
    .ShowAutoFilter = True
    .AutoFilter.ShowAllData
 End With
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan