Filter op basis van meerdere en variabele waarden

Status
Niet open voor verdere reacties.

1965Peter

Gebruiker
Lid geworden
20 jun 2016
Berichten
197
Beste allen,

Ik heb een sales dashboard gecreeerd en hierbij wil ik de functie toevoegen waarbij er op een waarde gedubbelklikt kan worden (bijvoorbeeld 10x verkoop van appels in april) waarna het werkblad waarin deze informatie staat wordt geopend en gefiltert op de maand waarin er geklikt is. Om het dashboard heen heb ik alle parameters gebouwd. Nu loop ik vast op het feit dat ik het autofilter alleen statisch in kan vullen. Ik heb veel gezocht naar verwijzingen, maar ik ben niet alleen op zoek naar een verwijzing naar een vaste cel. De cel waarnaar verwezen moet worden zit in dezelfde kolom of rij (zo heb ik het opgebouwd). In het voorbeeldbestandje heb ik het simpel nagemaakt. Tot nu toe heb ik de volgende code:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Row > 18 And Target.Row < 58 Then
    Cancel = True
    c00 = Cells(Target.Row, 3)
    
    If Not IsError(Evaluate("'" & c00 & "'!A1")) Then Application.Goto Sheets(c00).Cells(1)
    End If
    
Set April = Sheets("Sales dashboard").Range("E5")

Set FCol1 = Sheets("Sales dashboard").Range("B19") 'Kolomnummer 10 Sales orderintake
Set FCol2 = Sheets("Sales dashboard").Range("B34") 'Kolomnummer 3 Short-Term hire
Set FCol3 = Sheets("Sales dashboard").Range("B35") 'Kolomnummer 3 Training
Set FCol4 = Sheets("Sales dashboard").Range("B40") 'Kolomnummer 5 Offertepool
Set FCol5 = Sheets("Sales dashboard").Range("B41") 'Kolomnummer 7 Offertepool
Set FCol6 = Sheets("Sales dashboard").Range("B56") 'Kolomnummer 10 Sales orderintake

Set rCrit1 = Range("A19") 'Producttype 1
Set rCrit2 = Range("A20") 'Producttype 2
Set rCrit3 = Range("A21") 'Producttype 3
Set rCrit4 = Range("A22") 'Producttype 4

If ActiveSheet.Name = "Sales orderintake" Then
ActiveSheet.ListObjects("Sales_orderintake").Range.AutoFilter Field:=10, _
    Operator:=xlFilterValues, Criteria1:=April

End If
End Sub

Het aanwijzen van bladen werkt feilloos en met een statisch filter doet de macro precies wat ik wil. Nu ben ik een aantal uur aan het spitten geweest door allerlei forums, maar ik blijf foutmeldingen krijgen. Ik heb de bladen nagemaakt in het voorbeeldbestand. Korte doelstelling: Wanneer je op de waarden in April van product A klikt, moet de macro naar het tabblad van product A (werkt al) en vervolgens zal de macro een filter aan moeten zetten op de kolom met de betreffende datum (dit kan en mag statisch) en zal moeten filteren op de datum die in de Target.Column van de dubbelclick staat. Alvast bedankt voor alle hulp, dit is toch iets complexer als ik had verwacht :p.

Met vriendelijke groet,
Peter

PS: deze code zit in het voorbeeldbestand ---> (dit is alleen het selecteren van het tabblad na een dubbelclick)
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Row > 10 And Target.Row < 14 Then
    Cancel = True
    c00 = Cells(Target.Row, 1)
    
    If Not IsError(Evaluate("'" & c00 & "'!A1")) Then Application.Goto Sheets(c00).Cells(1)
    End If
End Sub
 

Bijlagen

  • Voorbeeld dubbelclick macro.xlsm
    16,8 KB · Weergaven: 22
Volgens mij klopt er niet veel van het voorbeeld bestand.

In basis is het zeer eenvoudig.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Row > 10 And Target.Row < 14 Then
    Cancel = True
    c00 = Cells(Target.Row, 1)
    If Not IsError(Evaluate("'" & c00 & "'!A1")) Then
      With Sheets(c00).Cells(1).CurrentRegion
        .AutoFilter 10, Cells(10, Target.Column)
       .Cells (1)
      End With
    End If
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan