• 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.

2 Private sube worksheet_change combineren

  • Onderwerp starter Onderwerp starter Nudi
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Nudi

Gebruiker
Lid geworden
17 feb 2012
Berichten
31
Hallo Excelexpert,

HIer ben ik weer met een vraag over excel. Ik hoop dat jullie mij hiermee kunnen helpen.

Is het mogelijk om 2 private sub Worksheet_change te combineren? het is mij nog steeds niet gelukt

zie onderstaande code

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("C3")) Is Nothing Then Exit Sub
    FilterWaarde = Range("C3").Value
     If FilterWaarde = "" Then AutoFilter.ShowAllData: Exit Sub
    With Sheets("oplevering")
        .Range("$A$7:$Y$1000").AutoFilter Field:=1, Criteria1:=FilterWaarde
    End With
 
    If Intersect(Target, Range("C2")) Is Nothing Then Exit Sub
    FilterWaarde = Range("C2").Value
     If FilterWaarde = "" Then AutoFilter.ShowAllData: Exit Sub
    With Sheets("oplevering")
        .Range("$A$7:$Y$1000").AutoFilter Field:=11, Criteria1:=FilterWaarde
    End With
End Sub

Alvast bedankt voor jullie reacties,

Groet,

Nudi
 
zonder verder naar de code gekeken te hebben, die kan eenvoudiger, toch alvast dit zodat de 2 gecombineerd zijn
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C3")) Is Nothing Then
        FilterWaarde = Range("C3").Value
        If FilterWaarde = "" Then AutoFilter.ShowAllData: Exit Sub
        With Sheets("oplevering")
            .Range("$A$7:$Y$1000").AutoFilter Field:=1, Criteria1:=FilterWaarde
        End With
    End If

    If Not Intersect(Target, Range("C2")) Is Nothing Then
        FilterWaarde = Range("C2").Value
        If FilterWaarde = "" Then AutoFilter.ShowAllData: Exit Sub
        With Sheets("oplevering")
            .Range("$A$7:$Y$1000").AutoFilter Field:=11, Criteria1:=FilterWaarde
        End With
    End If

End Sub
 
Yes hij werkt!! superb

Heel erg bedankt Cow18. Nu kan ik weer verder :)
 
Ongetest, maar probeer deze eens:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C2:C3")) Is Nothing Then
        If Target.Value = "" Then AutoFilter.ShowAllData: Exit Sub
        With Sheets("oplevering")
            .Range("$A$7:$Y$1000").AutoFilter Field:=IIf(Target.Address = "$C$2", 11, 1), Criteria1:=Target.Value
        End With
    End If
End Sub
 
Laatst bewerkt:
Probeer eerst eens in gewoon Nederlands te formuleren wat er wel/niet wanneer moet gebeuren.
Dan is 90% van de code al klaar.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C2:C3")) Is Nothing Then
        If Target="" Then AutoFilter.ShowAllData
        If Target<>"" Then  Sheets("oplevering").Range("$A$7:$Y$1000").AutoFilter 11+10*(target.row=3), Target
    End If
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan