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

Alleen Macro starten bij juiste keuze vervolgkeuzelijst!

Status
Niet open voor verdere reacties.

dorlando

Gebruiker
Lid geworden
9 feb 2009
Berichten
66
Ik gebruikte hieronder code voor het starten van marco2 bij de keuze "Rotterdam engineering"!
Maar nu wordt de macro gestart bij alle keuzes,en dat ik niet de bedoeling.
Wat gaat er fout ??


Sub Vervolgkeuzelijst175_BijWijzigen()
With ActiveSheet.Shapes("Vervolgkeuzelijst 175")
Select Case .ControlFormat.List(.ControlFormat.ListIndex)
Case "Rotterdam Engineering"
Macro2
Case "Scheer & Foppen Installatietechniek"
Worksheets(26).Visible = False
Case "Siers Groep" 'naam vervolgkeuzenlijst
Worksheets(26).Visible = False
Case "A. Hak Infranet B.V. Regio Midden"
Worksheets(26).Visible = False
Case "Visser & Smit Hanab Distributie"
Worksheets(26).Visible = False
Case "Marconi Oranje B.V."
End Select
End With
End Sub
 
Deze werkt toch voor mij.
Code:
Sub Vervolgkeuzelijst175_BijWijzigen()
 With ActiveSheet.Shapes("Vervolgkeuzelijst 175")
    Select Case .ControlFormat.List(.ControlFormat.ListIndex)
        Case "Rotterdam Engineering"
            Macro2
        Case "Scheer & Foppen Installatietechniek", "Siers Groep", _
            "A. Hak Infranet B.V. Regio Midden", "Visser & Smit Hanab Distributie"
            Worksheets(26).Visible = False
        Case "Marconi Oranje B.V."
    End Select
 End With
 End Sub
 
Probleem is opgelost, alleen ik heb nog een vraagje ,

Wat betekent worksheets(26) eindelijk,waar wijst/vergelijk hij naar?
 
Laatst bewerkt:
Kan je het bestand hier plaatsen?
Als jet maar om 1 voorwaarde gaat hoef je geen Select Case te gebruiken, maar volstaat een IF functie.
Verder kan je code een stuk korter.

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Om eerst je vraag te beantwoorden: Worksheets(26) is het 26e werkblad in je bestand. Je kunt met nummers naar een worksheet verwijzen, of met een naam. Als je bijvoorbeeld elk werkblad de naam van een bedrijf geeft, dan maak je met de opdracht Worksheets("Rotterdam_Engineering").Visible=False het werkblad Rotterdam_Engineering onzichtbaar. Werken met namen van werkbladen is een stuk veiliger dan werken met nummers, want als je de volgorde van de werkbladen verandert (bijvoorbeeld door er één tussen te voegen) dan klopt je nummering niet meer, maar de naam uiteraard nog wel.
 
Dan krijg je nog problemen als je de naam van het werkblad verandert.
Je kunt ook gebruik maken van het bladnaam (blad1, blad2, etc) van het betreffende werkblad.

Als dan het werkblad van naam of volgorde verandert, heeft dit geen gevolgen voor de code.

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan