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

Bladen verbergen bij opslaan

Status
Niet open voor verdere reacties.

ewaldmauritz

Gebruiker
Lid geworden
19 okt 2011
Berichten
87
Ik heb een excelsheet gemaakt waarbij alle gerechtigden via een wachtwoord kunnen inloggen op het inlogtabblad. Na het inloggen verschijnt het voor hen geldende invultabblad. Onderstaande code heb ik gebruikt om bij het afsluiten er voor te zorgen dat alle tabbladen die geopend zijn weer worden verborgen, zodat de volgende gebruiker bij het openen van het bestand weer op het inlogtabblad terecht komt. Maar dit werkt niet in alle gevallen goed.
Als een van de invultabbladen dmv inloggen zichtbaar is gemaakt en ingevuld is kan het bestand worden opgeslagen. Als je dit gedaan hebt sluit je vervolgens het bestand af. Op dat moment vraagt excel nogmaals of je het bestand wilt opslaan. Als je dan op 'Niet opslaan' klikt wordt het bestand gesloten, maar zal bij het opnieuw openen het laatst ingevulde tabblad zichtbaar worden. Uiteraard is dit niet de bedoeling. Hoe is dit te voorkomen en welke aanpassing aan de VBA code zou ik dan moeten doen? De VBA code staat in ThisWorkbook.

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Annemieke").Activate
Sheets("Annemieke").Visible = xlVeryHidden
Sheets("Dirk").Activate
Sheets("Dirk").Visible = xlVeryHidden
[I]etc, etc.[/I]
End Sub
 
ewaldmauritz,

Als je nu bij - WorBook Open - zorgt dat het blad wat je moet zien Activeerd,
de andere bladen verbergt ben je er toch ook?

Of zie ik het verkeerd?

OP Worsheet vond ik een stukje code en heb dit even aangepast en in ThisWorkbook gezet.
Code:
Private Sub Workbook_Open()
  For Each sh In Sheets(Array("Blad1", "Blad3"))
     sh.Visible = False
  Next
End Sub
Als je hem nu opend is alleen Blad2 zichtbaar.
 
Laatst bewerkt:
Klinkt plausibel moet ik zeggen. Ik ben alleen een leek op het gebied van VBA. Heb de code geknipt en geplakt van internet en van dit forum. Maar ik ben helaas niet in staat zelf een code te produceren.
Zou jij voor mij iets kunnen maken? Of wellicht iemand anders?
 
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    For Each sh In Sheets
        If sh.Name <> "Inlogblad" Then sh.Visible = xlVeryHidden
    Next
    ThisWorkbook.Close True
End Sub
Waar Inlogblad de naam is v/h enige blad is dat mag openblijven.
 
Warme Bakkertje, de oplossing werkt en doet precies wat ik wilde. Bedankt voor de hulp.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan