sheets hide en weer unhide middels buttons

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

pasan

Terugkerende gebruiker
Lid geworden
6 nov 2010
Berichten
1.110
Hallo
in een werkbook heb ik meerdere sheets die allemaal op 1 na verborgen zijn.
op elke sheet staan buttons waarmee ik naar een andere sheet ga en alleen die sheet is dan visible
er staan vele regels code om in elke situatie de juiste sheet . unhide = true en viceversa.

met de volgende code kun je ook een andere sheet selecteren maar dan middels de naam in de button op de active sheet.
dit werkt wel maar ik krijg het niet voor elkaar om dan alleen die sheet visible te krijgen en de rest verborgen te krijgen
en het volgende probleem waar ik mee zit als een sheet verborgen is werkt de onderstaande code uiteraard ook niet

Code:
Sheets(ActiveSheet.Buttons(Application.Caller).Text).Select

iemand tijd ?
 
Zet in vba in alle werkbladen de volgende code:

Code:
Private Sub Worksheet_Activate()
    For Each wb In Worksheets
        If Not (wb.Name = ActiveSheet.Name) Then wb.Visible = xlSheetVeryHidden
    Next
End Sub

Dit zorgt ervoor dat alle werkbladen, die niet actief zijn, afgesloten worden.

En probeer de volgende code eens aan de knop te koppelen:

Code:
Sheets(ActiveSheet.Buttons(Application.Caller).Text).Unhide
Sheets(ActiveSheet.Buttons(Application.Caller).Text).Select

(de laatste code heb ik niet getest)
 
met 2 kleine aanpassingen is het gelukt dankjewel voor je hulp

Code:
Private Sub Worksheet_Activate()
Dim wb As Worksheet
    For Each wb In Worksheets
        If Not (wb.Name = ActiveSheet.Name) Then wb.Visible = xlSheetVeryHidden
    Next
End Sub


Code:
Sub openblad()
     
       
        Sheets(ActiveSheet.Buttons(Application.Caller).Text).Visible = True
        Sheets(ActiveSheet.Buttons(Application.Caller).Text).Select

End Sub
 
Vandaag de bovenstaande code toegepast op mn workbook en ik kwam toch een klein probleempje tegen
in enkele omstandigheden wil ik graag wel meerdere bladen zichtbaar houden maar dan zat de code van worksheet_activate me in de weg
ik ben daarom nog eens verder gaan proberen en het volgende is het dan geworden, zodat ik geen code in het worksheet_activate nodig heb
maar alleen 1 maal in een module
Code:
Sub openblad()
Dim AWorksheet As Worksheet
Dim wb As Worksheet
On Error GoTo fout
If Sheets(ActiveSheet.Buttons(Application.Caller).Text).Visible = True Then
  Exit Sub
   Else

   Set AWorksheet = ActiveSheet
    For Each wb In Worksheets
    
        Sheets(ActiveSheet.Buttons(Application.Caller).Text).Visible = True
        AWorksheet.Visible = xlSheetVeryHidden
     
    Next
    Exit Sub

fout:
MsgBox "Bladnaam niet gevonden"
End If
End Sub
de vraag stond al op opgelost maar wilde dit toch nog ff plaatsen
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan