Macro uitvoeren via keuzelijst

Status
Niet open voor verdere reacties.

jaggy1962

Gebruiker
Lid geworden
19 aug 2010
Berichten
36
Hallo allemaal,

Ik heb een keuze lijst gemaakt met 4 namen, namelijk: Bert, Sjon, Mieke en Peter.
Als ik een naam selecteer wordt deze geplaatst in cel B8.
Nu wil ik als Bert geselcteerd word dat dan de rijen 11 tot en met 15 automatisch worden verborgen.
Als ik bijvoorbeeld later toch Sjon selecteer dat dan de rijen 16 en 17 worden verborgen dus 11 tot en met 15 weer zichtbaar worden.
Wie kan mij heplen.
Alvast bedankt.

Groetjes Jaggy :)
 
Deze kan je verder uitbreiden
Plaats deze in de bladmodule v/h betreffende werkblad
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$8" Then
    ActiveSheet.Cells.EntireRow.Hidden = False
        Select Case Target
            Case "Bert"
                Rows("11:15").Hidden = True
        End Select
    End If
End Sub
 
Deze kan je verder uitbreiden
Plaats deze in de bladmodule v/h betreffende werkblad
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$8" Then
    ActiveSheet.Cells.EntireRow.Hidden = False
        Select Case Target
            Case "Bert"
                Rows("11:15").Hidden = True
        End Select
    End If
End Sub

Beste Rudi,

Ik heb het geprobeerd maar het werkt niet ik zal wel iets fout doen.
Ik heb de macro gezet in VBAProject (Test.xls) Blad1 (Blad1)
Maar er gebeurt niets.
Wat doe ik fout en wat bedoel je met de blad module.
Ik heb hem ook nog in een module geplaatst maar dan gebeurt er ook niets.
Deze beginneling lukt het niet.
Hoop dat jij weet wat ik niet goed doe.

Mvrgr Jaggy
 
jaggy1962,

De code moet achter het blad.
Klik met rechts op de tab en kies voor Programmacode weergeven en plak de code daar
 
Ik heb even een vb gemaakt met een validatielijst in B8. Selecteer de naam Bert en de gevraagde rijen worden verborgen.
Je moet zelf nog de macro verder uitbreiden voor de overige namen door voor elke naam een Case bij te voegen naar analogie van het vb.
 
Ik heb even een vb gemaakt met een validatielijst in B8. Selecteer de naam Bert en de gevraagde rijen worden verborgen.
Je moet zelf nog de macro verder uitbreiden voor de overige namen door voor elke naam een Case bij te voegen naar analogie van het vb.

Beste Rudi,

Ik heb lang moeten zoeken naar wat je gadaan had maar heb het denk ik gevonden je hebt dit gedaan met valideren toch?
Op deze manier lukt het maar ik heb een keuzelijst gemaakt met de werkset besturingselementen.
Gaat het hier ook mee want ik wil de pijltjes toets laten staan of gaat dat ook met jouw lijst.
Ook wil ik dat je de cel leeg kan selecteren dus dat je geen naam ziet.
Heb wel weer wat geleerd van je, dank je.

Mvrgr jaggy
 
Nu met combobox

Beste Rudi,
Ik snap het niet meer, hoe maak je deze in hemelsnaam waar staan de namen eigenlijk, voel me nu echt dom.
Maar goed mijn keuzelijst verwijst naar text in een cellen bereik en hij is ook gelinkt aan een cel.
Kun je hier ook een macro voor schrijven?
Bij voorbaat mijn dank.

Heb wel deze gevonden en werkt maar dan als de keuzelijst leeg is (dus geen text) dan laat hij de rijen niet meer zien.
En die wil ik dan wel zien is dit mogelijk.

Sub ListBox11_Change()

c0 = "42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53:54:54,55:55,56:56"

Select Case ListBox11.Value
Case "Vast-geheel RVS", "Draaibaar-geheel RVS"
c0 = "53:53,54:54,55:55,56:56"
Case "Vast-geheel staal", "Draaibaar-geheel staal"
c0 = "42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52"
Case "Vast-ring RVS", "Draaibaar-ring RVS"
c0 = "44:44,45:45,53:53,54:54"
Case "Vast-inlaat + ring RVS", "Draaibaar-inlaat + ring RVS"
c0 = "45:45,53:53,54:54,55:55"
Case "Vast-uitlaat + ring RVS", "Draaibaar-uitlaat + ring RVS"
c0 = "44:44,53:53,54:54,56:56"
End Select

Rows("42:56").EntireRow.Hidden = False
Range(c0).EntireRow.Hidden = True

End Sub

Mvrgr Jaggy
 
Code:
Private Sub Listbox11_Change()
    ActiveSheet.Cells.EntireRow.Hidden = False
        Select Case ListBox11.Value
            Case "Vast-geheel RVS", "Draaibaar-geheel RVS"
                c0 = "53:53,54:54,55:55,56:56"
            Case "Vast-geheel staal", "Draaibaar-geheel staal"
                c0 = "42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52"
            Case "Vast-ring RVS", "Draaibaar-ring RVS"
                c0 = "44:44,45:45,53:53,54:54"
            Case "Vast-inlaat + ring RVS", "Draaibaar-inlaat + ring RVS"
                c0 = "45:45,53:53,54:54,55:55"
            Case "Vast-uitlaat + ring RVS", "Draaibaar-uitlaat + ring RVS"
                c0 = "44:44,53:53,54:54,56:56"
        End Select
    End Select
    If c0 = "" Then Exit Sub
    Range(c0).EntireRow.Hidden = True
End Sub
 
Laatst bewerkt:
Code:
Private Sub Listbox11_Change()
    ActiveSheet.Cells.EntireRow.Hidden = False
        Select Case ListBox11.Value
            Case "Vast-geheel RVS", "Draaibaar-geheel RVS"
                c0 = "53:53,54:54,55:55,56:56"
            Case "Vast-geheel staal", "Draaibaar-geheel staal"
                c0 = "42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52"
            Case "Vast-ring RVS", "Draaibaar-ring RVS"
                c0 = "44:44,45:45,53:53,54:54"
            Case "Vast-inlaat + ring RVS", "Draaibaar-inlaat + ring RVS"
                c0 = "45:45,53:53,54:54,55:55"
            Case "Vast-uitlaat + ring RVS", "Draaibaar-uitlaat + ring RVS"
                c0 = "44:44,53:53,54:54,56:56"
        End Select
    End Select
    If c0 = "" Then Exit Sub
    Range(c0).EntireRow.Hidden = True
End Sub

Beste Rudi,
Ik krijg een compileer fout namelijk End Select zonder Select Case?
Mvrgr jaggy
 
jaggy1962,

Ik denk dat je hier even op de specialist moet wachten
Ik zelf moet zo weg kan dus even niet verder.
 
Post je bestand eens hier, want bij mij werkt deze perfect
 
Post je bestand eens hier, want bij mij werkt deze perfect

Beste Rudi,

Ik heb alles omgegooid en gebruik nu de keuzelijsten gemaakt met valideren dus ik gebruik nu je eerste oplossing (zier er ook mooier uit).
Maar als ik bij Bert de rijen 11 tot en met 15 en de rijen 20 en 21 wil verbergen hoe doe ik dat dan?
Ook als dit geld voor bijvoorbeeld Sjon kan ik dat dan tesamen met Bert in 1 regel in de code zetten?
Oja de reden waarom ik alles heb omgegooid is omdat de keuzelijsten die ik eerst had gemaakt versprongen na verbergen en weer zichtbaar maken en ik wist niet hoe ik deze op dezelfde plaats moest houden als het al gaat misschien weet jij dit?

Alvast bedankt.

Mvrgr jaggy
 
Dit kun je allemaal zelf met behulp van de hulpfunktie in de VBEditor of een VBA-boek.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$8" Then
        ActiveSheet.Rows.Hidden = False
        Select Case Target
        Case "Bert","Sjon"
            Range("11:15,20:21").EntireRow.Hidden = True
        End Select
    End If
End Sub
 
Laatst bewerkt:
Dit kun je allemaal zelf met behulp van de hulpfunktie in de VBEditor of een VBA-boek.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$8" Then
        ActiveSheet.Rows.Hidden = False
        Select Case Target
        Case "Bert","Sjon"
            Range("11:15,20:21").EntireRow.Hidden = True
        End Select
    End If
End Sub

Hallo allemaal,

Bij deze wil ik iedereen bedanken voor alle hulp.

Mvrgr Jaggy:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan