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

Tabbladen die aan een bepaalde voorwaarde voldoen zichtbaar maken in VBA

Status
Niet open voor verdere reacties.

Robertcp

Nieuwe gebruiker
Lid geworden
24 apr 2019
Berichten
2
Ik weet hoe ik meerdere tabbladen zichtbaar kan maken m.b.v. VBA (zie hieronder), maar wie kan een scrips maken om bijvoorbeeld een tabblad die voldoet aan een bepaalde voorwaarde opent of sluit.
Bijvoorbeeld; Alle tabbladen openen of sluiten die beginnen met de letter "X" (XSheet2, XSheet2, X...., Xvrijetekst, ect).

Voorbeeld om alle bladen zichtbaar te maken;
Sub VenA()
For Each sh In Sheets
sh.Visible = True
Next sh
End Sub

of om een aantal bladen zichtbaar te maken;

Sub VenA1()
For Each sh In Sheets(Array("Sheet1", "Sheet3"))
sh.Visible = True
Next sh
End Sub
 
Laatst bewerkt:
Zoiets:
Code:
Sub VenA()
    For Each sh In Sheets
        If Left(sh.Name, 1) = "X" Then
            sh.Visible = True
        End If
    Next sh
End Sub
 
maar op letten met hoofd en kleine letters dus ik zou het zo doen
For Each sh In Sheets

If UCase(Left(sh.Name, 1)) = UCase("x") Then
'of sh.visible false
sh.Visible = False
End If
Next sh
End Sub
 
Waarbij UCase("x") uiteraard gewoon "X" mag zijn en de Ucase ervan dus overbodig is.
Code:
Sub VenA()
    For Each sh In Sheets
        If Ucase(Left(sh.Name, 1)) = "X" Then
            sh.Visible = True
        End If
    Next sh
End Sub

Tip:
Gebruik codetags bij het plaatsen van code.
 
vergeten ze te zetten
maar waarom ze er zetten kunt de code zo ook lezen
 
Met 7 regeltjes valt dat wel mee inderdaad, maar zelfs dan is het veel beter leesbaar omdat dan ook de inspringpunten goed staan.
Daarnaast kost het geen moeite en doe je er iedereen een plezier mee.
 
Laatst bewerkt:
Dat het niks met schoonheid te maken heeft lijkt me duidelijk.
Voor de rest zal ik maar niet reageren op die opmerking.
 
Code kan nog wel met twee regeltjes minder.
 
Met 1 code alle bladen die met een x beginnen verbergen of zichtbaar maken. (Ze moeten wel allemaal de zelfde status hebben.)

Code:
Sub VenA()
  For Each sh In Sheets
    If LCase(Left(sh.Name, 1)) = "x" Then sh.Visible = Not sh.Visible
  Next sh
End Sub
 
wat bedoel je met zelfde status?
Ver moet dat je bedoelt of er al verborgen of al enkele zichtbaar zijn of niet . Dat maakt toch niet uit volgens miij
 
Laatst bewerkt:
OF allemaal zichtbaar, OF allemaal onzichtbaar.
 
Wat wijzigt de code? Dus over welke status zal ik het hebben?
 
@ venA

De beide functies geven zelf de uitleg.
Wat ze doen.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan