Filter via vba uitzetten

Status
Niet open voor verdere reacties.

Robert Smidt

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

Ik heb eerder via dit medium een code gekregen die perfect werkt om een filter automatisch te sluiten vanuit een tabel. Nu is echter mijn wens een dergelijke code te maken maar dan niet voor een tabel, maar voor een standaard excel spreadsheet waar ik filters in heb staan. Mijn vraag is wat ik i.p.v. (.listObjects(1)) moet gebruiken?

Code:
Sub hsv()
With Sheets("Rit- & uren adm.")
  If .ListObjects(1).AutoFilter.FilterMode Then
     If .ListObjects(1).AutoFilter.Filters.Count > 0 Then .ListObjects(1).AutoFilter.ShowAllData
   End If
 End With
End Sub

Een antwoord zie ik met veel belangstelling tegemoet.

Robert
 
Afhankelijk van je naamgevingen, maar het zou dit kunnen zijn: ListObjects("Table1")
 
Bedankt voor jouw snelle reactie, helaas werkt het niet. Bij regel:

Code:
  If .ListObjects("Table1").AutoFilter.FilterMode Then

krijg ik een gele geaccentueerde regel zonder tekst wat er fout is.
 
Bedoel je voor een gewoon tabblad (geen tabel) of zie ik iets over het hoofd?
Code:
With Sheets("Blad1")
If .AutoFilterMode Then .AutoFilterMode = False
End With
 
Ik kan natuurlijk niet zien of je listobject inderdaad Table1 heet. Dat weet je zelf.
Druk eens op F8 als die regel geel is.
Wat zegt hij dan?
 
Dan heet die table dus niet Table1. Hoe hij wel heet zou je zelf moeten weten.
 
Het is dus precies wat dotchie zei in #4.
 
Zelfs de if kan eruit

Code:
Blad1.AutoFilterMode = 0
 
@ Robert, Mijn code werkt, verander Blad1 in Uitgaven.
@Edmoor, oef, ik dacht het is omdat ik een st... Belg ben:D
 
Dat zou ik niet durven zeggen Philiep ;)
 
De code verwijderd bij mij het filter, de bedoeling is niet dat het filter wordt verwijderd, maar dat het filter uitgezet wordt, of doe ik iets fout?
 
Ik heb het vast fout in de code staan. Blad1 heb ik ook getest d.m.v. Uitgaven.

Code:
Sub hsp()
With Sheets("Uitgaven")
If .AutoFilterMode Then Blad1.ShowAllData = False
End With
End Sub
 
Beste mensen,

Met jullie antwoorden hebben jullie mij op het goede spoor gebracht. Het antwoord lag eigenlijk voor de hand. Door de verwijzing naar de tabel eruit te halen (zie onderstaande code) werkt de formule nu ook voor filters die niet in een tabel staan.

Code:
Sub hsv()
With Sheets("Uitgaven")
  If .AutoFilter.FilterMode Then
     If .AutoFilter.Filters.Count > 0 Then .AutoFilter.ShowAllData
   End If
 End With
End Sub

Heel erg bedankt voor jullie hulp.

Robert
 
iets minder complex

Code:
Sub VenA()
  If Sheets("Uitgaven").AutoFilterMode Then Sheets("Uitgaven").AutoFilter.ShowAllData
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan