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

kan topic niet vinden

Status
Niet open voor verdere reacties.

westra77

Gebruiker
Lid geworden
2 mrt 2007
Berichten
149
ik weet dat er een topic bestaat over het onderstaande.

bij het opstarten van het bestand;
Indien er wordt gekozen voor macro's uitschakelen wordt alleen tabblad 1 weergegeven.
indien wordt gekozen voor macro's inschakelen worden bv tabblad 2 en 3 weergegeven.

ik heb al een tijdje gezocht, maar kan hem niet weer traceren, wie weet waar dit topic te vinden is
 
Westra77, Het zal zo zijn dat blad 2 en 3 op xlVeryHidden staan (en worden gezet bij het afsluiten van het bestand). Pas als je je macro's activeert bij het openen zal er dus code kunnen gaan lopen die er voor kan zorgen dat die pagina's weer worden getoond.

Groet, Leo
 
dat klopt, ik heb nu onderstaande code welke juist werkt.
in wil graag als aanvulling dat het bestand niet automatisch opslaat, maar dat de vraag door een message box wordt gesteld: opslaan,opslaan als, of annuleren.
was aan het zoeken of dit mogelijk was, dus eigenlijk meer een afgeleide vraag.

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.ScreenUpdating = False

 Blad1.Visible = xlSheetVisible
  Blad1.Activate
  HideAll
   ThisWorkbook.Save
  
  End Sub
  
Private Sub Workbook_Open()
    
    UnHideAll
    Blad2.Activate
      
  Blad1.Visible = xlSheetHidden
   
    
End Sub

Private Sub HideAll()
    'Blad1.Visible = xlSheetVisible
    Blad2.Visible = xlSheetHidden
    Blad3.Visible = xlSheetHidden
    
       
       
    
End Sub
Private Sub UnHideAll()
    
    'Blad1.Visible = xlSheetHidden
    Blad2.Visible = xlSheetVisible
    Blad3.Visible = xlSheetVisible
    
         Application.ScreenUpdating = True
 
    
End Sub
 
westra77,

Code:
ThisWorkbook.Save
Als je dit veranderd in,
Code:
ThisWorbooks.close   'vraagt om opslaan

Kijk of it werkt zoals je bedoel.
 
Nog een mogelijkheid, met deze kan je de voorgestelde naam aanvaarden, een nieuwe kiezen of annuleren

Code:
Application.GetSaveAsFilename

Mvg

Rudi
 
ik eb nu onderstaande code ingevoerd. deze werkt juist, alleen indien ik op suiten druk krijg ik de melding opslaan als (bestandsnaam) dit is juist, echter als ik op annuleren druk in het scherm oplaan als, vraagt excel nogmaal of ik het bestand wil opslaan.
deze laatste melding wil ik voorkomen, maar ik weet niet hoe


Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
        Dim Save As Boolean
    Save = True
    
    If ThisWorkbook.Saved = False Then
        a = MsgBox("Wilt u de wijzigingen opslaan?", vbYesNoCancel, "gegevens opslaan?")
        If a = vbCancel Then Cancel = True
        If a = vbNo Then Save = False
    End If
    
    If Save = False Then
        ThisWorkbook.Saved = True
    End If
    
    If Cancel = False And Save = True Then

  Application.GetSaveAsFilename
   End If
  
  End Sub
 
Voeg je code toe aan de knop Afsluiten en voeg onderstaande code toe aan de knop Annuleren.

Code:
ActiveWorkbook.Close Savechanges:= False
Het bestand wordt afgesloten zonder dat de wijzigingen bewaard worden.

Met vriendelijke groet,


Roncancio
 
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
        Dim Save As Boolean
    Save = True
    
    If ThisWorkbook.Saved = False Then
        a = MsgBox("Wilt u de wijzigingen opslaan?", vbYesNoCancel, "gegevens opslaan?")
        If a = vbCancel Then Cancel = True
        If a = vbNo Then Save = False
    End If
    
    If Save = False Then
        ThisWorkbook.Saved = True
    End If
    
    If Cancel = False And Save = True Then

  Application.GetSaveAsFilename
  [COLOR="Red"]Cancel = True[/COLOR]
   End If
  
  End Sub

Mvg

Rudi
 
Westra77, Hou er rekening mee dat als je een sheet op xlSheetHidden zet, deze eenvoudig via het menu Format (opmaak) weer zichtbaar kan maken. Via VBA heb je juist de mooie mogelijkheid om een sheet via xlSheetVeryHidden werkelijk totaal onzichtbaar te maken. Daar heb je echt weer VBA bij nodig om 'm tevoorschijn te halen.

Groet, Leo
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan