Schipperjte
Gebruiker
- Lid geworden
- 24 jan 2006
- Berichten
- 212
Hoi,
Heb een mooie macro gevonden op internet , werkt goed
Even een uitleg , Ik heb een excel invul scherm gemaakt en deze neemt een heleboel gegevens over naar andere bladen in excel en sommige naar Word met koppelingen .
Het werkt eigenlijk alleen goed als er met macro's gewerkt kan worden .
Het verbergt de bladen XL Very hidden en tovert ze tevoorschijn als de macro instellingen aanstaan.
Nu komt het kleine probleempje, er is 1 blad Gegevens wat eigenlijk verborgen moet blijven . Ben al een beetje aan het proberen geweest maar kom er niet uit .
Of hij doet het niet meer of het werkt niet
Hier de macro
en het test bestandje
Mvrgr Bas
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.DisplayAlerts = False
Dim m As Date, ws As Worksheet
m = DateSerial(2012, 12, 31)
If Date > m Then
ThisWorkbook.Close
Else
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> "FOUT" Then
ws.Visible = True
End If
Next
Sheets("FOUT").Visible = xlVeryHidden
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.DisplayAlerts = True
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.DisplayAlerts = False
Dim m As Date, ws As Worksheet
Sheets("FOUT").Visible = True
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> "FOUT" Then
ws.Visible = xlVeryHidden
End If
Next
ThisWorkbook.Save
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> "FOUT" Then
ws.Visible = True
End If
Next
Sheets("FOUT").Visible = xlVeryHidden
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.DisplayAlerts = True
ThisWorkbook.Saved = True
Cancel = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Msg As String, Ans As Variant
If Not ThisWorkbook.Saved = True Then
Msg = "Do you want to save the changes you made to '"
Msg = Msg & ThisWorkbook.Name & "'?"
Ans = MsgBox(Msg, vbQuestion + vbYesNoCancel)
Select Case Ans
Case vbYes
ThisWorkbook.Save
ThisWorkbook.Saved = True
Case vbNo
ThisWorkbook.Saved = True
Case vbCancel
Cancel = True
Exit Sub
End Select
End If
End Sub
Heb een mooie macro gevonden op internet , werkt goed
Even een uitleg , Ik heb een excel invul scherm gemaakt en deze neemt een heleboel gegevens over naar andere bladen in excel en sommige naar Word met koppelingen .
Het werkt eigenlijk alleen goed als er met macro's gewerkt kan worden .
Het verbergt de bladen XL Very hidden en tovert ze tevoorschijn als de macro instellingen aanstaan.
Nu komt het kleine probleempje, er is 1 blad Gegevens wat eigenlijk verborgen moet blijven . Ben al een beetje aan het proberen geweest maar kom er niet uit .
Of hij doet het niet meer of het werkt niet
Hier de macro
en het test bestandje
Mvrgr Bas
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.DisplayAlerts = False
Dim m As Date, ws As Worksheet
m = DateSerial(2012, 12, 31)
If Date > m Then
ThisWorkbook.Close
Else
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> "FOUT" Then
ws.Visible = True
End If
Next
Sheets("FOUT").Visible = xlVeryHidden
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.DisplayAlerts = True
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.DisplayAlerts = False
Dim m As Date, ws As Worksheet
Sheets("FOUT").Visible = True
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> "FOUT" Then
ws.Visible = xlVeryHidden
End If
Next
ThisWorkbook.Save
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> "FOUT" Then
ws.Visible = True
End If
Next
Sheets("FOUT").Visible = xlVeryHidden
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.DisplayAlerts = True
ThisWorkbook.Saved = True
Cancel = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Msg As String, Ans As Variant
If Not ThisWorkbook.Saved = True Then
Msg = "Do you want to save the changes you made to '"
Msg = Msg & ThisWorkbook.Name & "'?"
Ans = MsgBox(Msg, vbQuestion + vbYesNoCancel)
Select Case Ans
Case vbYes
ThisWorkbook.Save
ThisWorkbook.Saved = True
Case vbNo
ThisWorkbook.Saved = True
Case vbCancel
Cancel = True
Exit Sub
End Select
End If
End Sub