Alle tabbladen zichtbaar-verbergen

Status
Niet open voor verdere reacties.

JoepG

Gebruiker
Lid geworden
23 okt 2020
Berichten
39
Beste mensen,

Ik heb al veel van jullie geleerd, maar volgende kan ik niet vinden en waarschijnlijk is het zeer simpel maar ik kom er niet op.

Ik heb een knop gemaakt om alle tabbladen die verborgen zijn zichtbaar te maken. met:

Sub Tabbladenweergeven()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws
End Sub

Dat werkt mooi, maar ik wil nu eigenlijk een knop, dit ook omgekeerd doet maar dan op 1 tabblad na. (tabblad "algemeen") moet als enige zichtbaar blijven.

Sub Tabbladenverbergen()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = x1Sheethide
Next ws
End Sub

Maar hier krijg ik error, omdat er minimaal 1 blad zichtbaar moet blijven, ik krijg de uitzonder algemeen er alleen niet ingezet..

Via een vraag van een ander kwam ik bij deze code:

Sub Verbergen_zichtbaarmaken()

Dim Aantal As Integer
Dim I As Integer

Aantal = ActiveWorkbook.Worksheets.Count

For I = 1 To Aantal
If ActiveWorkbook.Sheets(I).Name <> "Algemeen" Then
ActiveWorkbook.Sheets(I).Visible = Not ActiveWorkbook.Sheets(I).Visible
End If
Next I

End Sub


Maar dat werkt niet zoals gehoopt.
Kan iemand me hierbij helpen?
 
Laatst bewerkt:
Even proberen misschien ....

Code:
[COLOR=#333333]Sub Verbergen_zichtbaarmaken()[/COLOR]

[COLOR=#333333]Dim Aantal As Integer[/COLOR]
[COLOR=#333333]Dim I As Integer[/COLOR]

[COLOR=#333333]Aantal = ActiveWorkbook.Worksheets.Count[/COLOR]

[COLOR=#333333]For I = 1 To Aantal[/COLOR]
[COLOR=#333333]if ActiveWorkbook.Sheets(I).Name = "Algemeen" then 
[/COLOR][COLOR=#333333]      activeWorkbook.Sheets(I).Visible = True
else
      ActiveWorkbook.Sheets(I).Visible = False[/COLOR]
[COLOR=#333333]End If
[/COLOR][COLOR=#333333]Next I[/COLOR]

[COLOR=#333333]End Sub[/COLOR]
 
Voor het verbergen werkt dit goed, dank je wel.

Kan ik met dezelfde knop ook alles zichtbaar maken, of kan ik beter twee knoppen houden? een voor weergeven en de andere voor verbergen?
 
Kleine aanpassing:
Code:
Sub Verbergen_zichtbaarmaken()
    Dim i As Integer
    
    With ActiveWorkbook
        For i = 1 To .Sheets.Count
            If .Sheets(i).Name <> "Algemeen" Then
                  .Sheets(i).Visible = Not .Sheets(i).Visible
            End If
        Next i
    End With
End Sub
 
Ja zo werkt hij, thx :d

Als nu iets al zichtbaar is verbergt hij dat blad als je de rest zichtbaar maakt, en omgekeerd bij verbergen ook.
Ik ga er nog even aan puzzelen, ook zou het prettig zijn als het active.sheet algemeen dan weer gegeven wordt na het zichtbaar maken.

Ben nog een erge noob, probeer snel bij te leren :confused:
 
Er staat hoe je ze zichtbaar/verborgen maakt.
Dat zou genoeg voor je moeten zijn om de gewenste wijziging te doen.
Daarnaast wordt het blad Algemeen nooit onzichtbaar gemaakt in mijn voorbeeld en in het voorbeeld van DigiCafee ook niet.
 
Laatst bewerkt:
Grote aanpassing:
Code:
Sub M_snb()
   For Each it In Sheets
      it.Visible = (Not it.Visible) + (it.Name = "Algemeen")
   Next
End Sub
 
Keurig :)
Option Explicit moet dan niet aan staan overigens.
 
Die laatste aanvulling krijg ik nog niet werkend (SNB), is mijn onervarenheid dus vogel ik nog uit, leer ik van.

Allemaal dank je wel voor de infromatie :)
 
Zorg dat alle werkbladen zichtbaar zijn.
Start dan de macro.
Zet de macro in de macromodule van werkblad 'Algemeen'.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan