Langsam bin ich verzweifelt. Etwa seit März begleitet mich beim Starten meiner Datei (rund 3,6 MB) regelmäßig die Mitteilung "schwerwiegender Fehler - Problem bitte auch an Microsoft berichten". Seit Neuestem erscheint außerdem vorher die Fehlermeldung "Systemfehler &H800000FFF (-2147418113) Schwerwiegender Fehler".
Die Datei dient als XLT-Vorlage, um unter anderem Kundendaten zu erfassen. Anbei ist der Workbook_Open()-Teil, der die Probleme verursacht. Und nun kommt der Hammer:
Wenn der Fehler auftritt, dann starte ich die XLS-Datei ohne Makros und füge - irgendwo im Code! - die Zeile MsgBox "" ein. Wenn ich die Datei dann wieder mit Makros starte, dann läuft wieder alles.
Wenn ich diese Änderung aber von vorneherein in der XLT-Datei vornehme, dann erscheint die Fehlermeldung trotzdem. Wo gibt's denn sowas, dass eine einfache MsgBox den Rechner "ablenkt"?
Wer kann mir helfen?
Danke und Gruß aus Berlin von Florian
Private Sub Workbook_Open()
On Error GoTo Fehlerbehandlung
Dim EndeTestzeit As Boolean
Dim EndeProgrammversion As Boolean
Dim EndeProgrammversionEndgültig As Boolean
Dim Pfad As String
Application.CommandBars("Baufinanzierung_Symbole").Visible = False
Angaben = Worksheets("Finanzierungsangaben").Range("Angaben")
EndeTestzeit = Worksheets("Kunden").Range("Ende_Testzeit")
EndeProgrammversion = Worksheets("Kunden").Range("Ende_Programmversion")
EndeProgrammversionEndgültig = Worksheets("Kunden").Range("Ende_Programmversion_endgültig")
Pfad = Worksheets("Finanzierungsangaben").Range("Pfad")
With Application
.WindowState = xlMaximized
.DisplayFullScreen = True
.CommandBars("Full Screen").Visible = False
.DisplayStatusBar = False
.DisplayAlerts = False
End With
With ActiveWindow
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
End With
If Range("leere_Vorlage") And EndeProgrammversion Then
MsgBox "Die Version des Programms ist nicht mehr aktuell." & Chr(13) & _
"Bitte installieren Sie eine neue Version.", vbInformation + vbOKOnly, _
"Neue Version installieren!"
End If
If Range("leere_Vorlage") And EndeProgrammversionEndgültig Then
MsgBox "Die Version des Programms ist nicht mehr aktuell." & Chr(13) & _
"Das Programm wird beendet.", vbInformation + vbOKOnly, _
"Neue Version installieren!"
Application.DisplayAlerts = False
ThisWorkbook.Close
End If
If Worksheets("Berater").Range("Tester") And EndeTestzeit Then
MsgBox "Die Testzeit ist abgelaufen.", vbCritical + vbOKOnly, " "
Application.DisplayAlerts = False
ThisWorkbook.Close
End If
PullDownMenü
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.DisplayAlerts = True
With ActiveWindow
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
.DisplayWorkbookTabs = True
End With
If Range("Datumsangabe") = "" Then
Range("Datumsangabe") = Format(Now, "dddd, d. mmmm yyyy, h.mm") & " Uhr"
End If
Exit Sub
Fehlerbehandlung:
Application.DisplayAlerts = False
ThisWorkbook.Close
End Sub