• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Dynamische filter resetten

Status
Niet open voor verdere reacties.

skystormer

Gebruiker
Lid geworden
8 mrt 2011
Berichten
200
Goedemorgen mensen,

Ik zit momenteel mijn hoofd te breken op het volgende:

Dankzij punten gebruikt hier heb ik de volgende VBA code gevonden en half kunnen toepassen.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, Range("I2")) Is Nothing Then Exit Sub
    FilterWaarde = Range("I2").Value
     If FilterWaarde = "" Then AutoFilter.ShowAllData: Exit Sub
    With Sheets("Materiaal")
        .Range("$A$6:$O$105").AutoFilter Field:=8, Criteria1:=FilterWaarde
    End With
    
End Sub

Nu hoopte ik dat If FilterWaarde = "" Then AutoFilter.ShowAllData: Exit Sub er voor zorgde dat als mijn waarde I2 leeggemaakt werd dat dan de filterwaarde verwijder werd. Echter VBA geeft steeds een foutmelding.
Heeft iemand een idee hoe ik deze werkzaam kan krijgen.
 

Bijlagen

Schrijf het eens zo

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address(0, 0) = "I2" Then
  With Range("A6:O105")
    If Target = "" Then
      .AutoFilter
    Else
      .AutoFilter 8, Target.Value
    End If
  End With
 End If
End Sub
 
Waarom een range benoemen als je een tabel gebruikt?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address(0, 0) = "I2" Then
    If Target.Value = "" Then ListObjects(1).Range.AutoFilter 8 Else ListObjects(1).Range.AutoFilter 8, Target.Value
  End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan