Excel Programmfehler - Dateien defekt

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Label
Bild

Betrifft: Excel Programmfehler - Dateien defekt von: Philipp
Geschrieben am: 16.02.2005 10:25:31

Hallo,

ich habe ein richtig mieses Problem:

Meine Excelarbeitsmappe, die ich in einer siebentägigen Arbeit mühsam erstellt habe, zeigt beim Öffnen immer die Fehlermeldung:

"EXCEL.exe hat Fehler verursacht und wird geschlossen. Starten Sie das Programm neu.
Ein Fehlerprotokoll wird erstellt."

Das ist nun schon das dritte Mal, dass die Excel-Datei defekt wird. Ich habe immer zwischengespeicherte Sicherungsdateien auf den neuesten Stand gebracht, aber einen großen Zeitverlust bedeuten diese Fehler trotzdem. Woran liegt das? Ich habe zwei Makros integriert, die einwandfrei funktionieren, mehrere Pivot-Tabellen, die auch keine Probleme gemacht haben.

Kann mir einer helfen? Das ganze ist wirklich gefährlich, da nach und nach alle meine Daten verloren gehen! Und die sind sehr wichtig, es steckt viel Arbeit dahinter.

Danke
Philipp

Bild


Betrifft: AW: Excel Programmfehler - Dateien defekt von: Harald E
Geschrieben am: 16.02.2005 10:59:22

Hallo Philipp,

ich lass die Frage eh offen, aber ich hatte (ebenfalls bei 9.0 sowie Win98) mit einer Datei, die umfangreiche Codes enthält, in deren Verlauf Dateien aus anderen Laufwerken geöffnet, bearbeitet und wieder geschlossen werden).

Abhilfe brachte Folgendes:
- option explizit gelöscht (da ich kein Held (bzw. der Held, hehehe)der Variablendeklaration bin)
- kein Workbook_open ereignis
- application.quit nachdem der Code durchgelaufen ist

Ich muss dann für jede Auswertung die Datei zwar neu starten, aber die Fehlermeldungen und Abstürze blieben weg.

Gruß und viel Glück noch (bin selbst gespannt)
Harald


Bild


Betrifft: AW: Excel Programmfehler - Dateien defekt von: Philipp
Geschrieben am: 16.02.2005 11:19:06

Hallo,

danke erstmal für die Tips.

Also die ersten beiden Punkte tauchen bei mir sowieso nicht auf, aber vielleicht sollte ich den dritten Punkt (application.quit) mal ausprobieren. Wo gehört der hin? Schränkt der meinen Code ansonsten irgendwie ein?

Danke
Philipp


Bild


Betrifft: AW: Excel Programmfehler - Dateien defekt von: Harald E
Geschrieben am: 16.02.2005 11:33:53

gehört an den Schluß des letzten Codes

etwa so

Sub letzter()
.
.
.
Workbooks("DeineDatei.xls").Save 
application.quit 
End Sub


Habe den Eindruck, dass Excel (oder Win98) diese Auszeit brauch.
Kann das aber nicht belegen. Hauptsache es läuft...auch wenns noch so hingemurkst ist.

Gruß
Harald


Bild


Betrifft: AW: Excel Programmfehler - Dateien defekt von: Philipp
Geschrieben am: 16.02.2005 11:37:19

Ich habe das gerade mal ausprobiert: Excel schließt sich nach dem Aufruf des Makros. Das ist jedoch für mich völlig ausgeschlossen.

vielen Dank trotzdem

Philipp


Bild


Betrifft: AW: Excel Programmfehler - Dateien defekt von: Jan
Geschrieben am: 16.02.2005 13:45:40

Ohne den Code zu sehen, ist es kaum möglich, einen sachdienlichen Hinweis zu geben.
Vermute mal, dass unsaubere Programmierung die Ursache ist,

mfg Jan


Bild


Betrifft: AW: Excel Programmfehler - Dateien defekt von: Philipp
Geschrieben am: 16.02.2005 15:18:34

Hallo,

also den VBA-Code kann ich gerne veröffentlichen, allerdings nicht die ganze Arbeitsmappe (vertrauliche Daten).


Public beschriftung As Boolean
<pre>
Sub beschriftungon()

beschriftung = True
ws = ActiveSheet.Name
ActiveSheet.ChartObjects(1).Activate
Application.ScreenUpdating = False
x = 2
For j = 2 To 500
If Cells(j, 4).EntireRow.Hidden = False Then
If Worksheets(ws).Cells(j, 4).Value > 1400 Then
With ActiveChart.SeriesCollection(1).Points(x - 2 + 1)
.HasDataLabel = True
.DataLabel.Text = Worksheets(ws).Cells(j, 1).Value
End With

End If
x = x + 1
End If
Next j
Application.ScreenUpdating = True

End Sub</pre>

<pre>
Sub beschriftungoff()

beschriftung = False
ws = ActiveSheet.Name
ActiveSheet.ChartObjects(1).Activate
Application.ScreenUpdating = False
x = 2
For j = 2 To 500
If Cells(j, 4).EntireRow.Hidden = False Then
If Worksheets(ws).Cells(j, 4).Value > 1400 Then

With ActiveChart.SeriesCollection(1).Points(x - 2 + 1)
.HasDataLabel = True
.DataLabel.Text = ""
End With
End If
x = x + 1
End If
Next j
Application.ScreenUpdating = True
End Sub</pre>

<pre>
Sub filteron()

Application.ScreenUpdating = False
For i = 2 To 500
If Cells(i, 4).Value <= 500000 Then Cells(i, 4).EntireRow.Hidden = True
Next i
Application.ScreenUpdating = True

If beschriftung = True Then Call beschriftungon Else Call beschriftungoff

End Sub</pre>

<pre>
Sub filteroff()

Application.ScreenUpdating = False
Cells.EntireRow.Hidden = False
Application.ScreenUpdating = True

If beschriftung = True Then Call beschriftungon Else Call beschriftungoff

End Sub</pre>


Der Code bezieht sich auf ein Blasendiagramm.

Könnt ihr damit etwas anfangen? Ist da etwas unsauber?

Ich habe festgestellt, dass dieser Fehler insbesondere dann auftritt, wenn ich zu lange am Stück die Arbeitsmappe geöffnet habe(?). Deswegen schließe ich sie in gewissen Abständen, lege mir eine Sicherheitskopie an und arbeite erst dann wieder weiter.

Danke
Philipp


Bild


Betrifft: AW: Excel Programmfehler - Dateien defekt von: Jan
Geschrieben am: 16.02.2005 16:11:50

Ich würde an deiner Stelle erstmal Option Explicit verwenden und alle Variablen
mit passendem Datentyp und entsprechender Dimensionierung deklarieren.
Das ist die Grundlage einer sauberen Programierung.

mfg Jan


Bild


Betrifft: AW: Excel Programmfehler - Dateien defekt von: Philipp
Geschrieben am: 16.02.2005 16:28:38

Hallo,

vielen Dank für den Tip.

Kannst du mir erklären, wie und wo man Option Explicit anwendet? Eigentlich kann ich nämlich gar kein VBA. Die Codes habe ich hauptsächlich aus diesem Forum.

Danke
Philipp


Bild


Betrifft: AW: Excel Programmfehler - Dateien defekt von: Jan
Geschrieben am: 16.02.2005 17:06:37

Als erste Zeile in einem Modul.
Das bewirkt, dass der compiler meckert, wenn eine Variable nicht deklariert ist.

mfg Jan


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Excel Programmfehler - Dateien defekt"