Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1516to1520
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Datei beschädigt , speichern nicht möglich
11.10.2016 17:33:47
andthen
Hallo zusammen,
ich habe in den letzten 2 Tagen eine Auswertung erstellt.
Die Datei setzt sich aus 20 Daten-Tabellenblättern mit jeweils ca 500 Datensätzen zusammen.
In de Tabellenblatt Auswertung wird mit Formeln gearbeitet (normale Verlinkungen innerhalb der Datei, Summen, Mittelwert etc. also nichts besonderes).
Ich habe die Auswertung soweit abgeschlossen und habe sie abgespeichert. Nach der Mittagspause wollte ich Änderungen vornehmen, erhielt aber bei jedem Versuch zu speichern folgende Fehlermeldung:
"Fehler beim Speichern von XXX.xlsm. Durch Entfernen oder Reparieren einiger Features kann die Datei von Microsoft Excel möglicherweise gespeichert werden. Klicken Sie auf "Weiter", um die Reparatur in einer neuen Datei auszuführen. Klicken Sie auf Abbrechen, um den Speichervorgang für die Datei abzubrechen.
Zur Bearbeitung der Datei habe ich ein Makro benutzt, welches kopieren - einfügen Aufgaben übernimmt.
Das sollte eigentlich keinen großen Einfluss auf die Datei haben, meine Fehlermeldung entsteht aber anscheinend durch VBA weshalb ich den Code hier poste :
Sub auswerten()
Dim tbquelle As Worksheet
Dim tbziel As Worksheet
Dim wb As Workbook
Dim intLetzteZeile1, intLetzteZeile2 As Integer
Dim strKundennummer As String
Set wb = ThisWorkbook
Set tbquelle = wb.Worksheets("WorksheetName1")
Set tbziel = wb.Worksheets("WorksheetName2")
intLetzteZeile1 = tbquelle.Cells(Rows.Count, 1).End(xlUp).Row
intLetzteZeile2 = tbziel.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To intLetzteZeile1
strKundennummer = tbquelle.Range("A" & i).Value
For j = 2 To intLetzteZeile2
If strKundennummer = tbziel.Range("A" & j).Value Then
tbquelle.Range("H" & i).Copy
If tbziel.Range("K" & j).Value = "" Then
tbziel.Range("K" & j).PasteSpecial Paste:=xlPasteValues
ElseIf tbziel.Range("L" & j).Value = "" Then
tbziel.Range("L" & j).PasteSpecial Paste:=xlPasteValues
ElseIf tbziel.Range("M" & j).Value = "" Then
tbziel.Range("M" & j).PasteSpecial Paste:=xlPasteValues
ElseIf tbziel.Range("N" & j).Value = "" Then
tbziel.Range("N" & j).PasteSpecial Paste:=xlPasteValues
ElseIf tbziel.Range("O" & j).Value = "" Then
tbziel.Range("O" & j).PasteSpecial Paste:=xlPasteValues
ElseIf tbziel.Range("P" & j).Value = "" Then
tbziel.Range("P" & j).PasteSpecial Paste:=xlPasteValues
Else
tbziel.Range("Q" & j).PasteSpecial Paste:=xlPasteValues
End If
End If
Next
Next
Set wb = Nothing
Set tbquelle = Nothing
Set tbziel = Nothing
End Sub

Meine Suche hat folgende Varianten ergeben, welche ich alle erfolglos getestet habe:
- Tabellenblätter in neue Arbeitsmappe kopieren => Fehlermeldung "Modul nicht gefunden" und Excel hängt sich auf
- Makros entfernen und dann speichern (selbe Fehlermeldung wie zu Beginn, habe das Modul entfernt und alle Tabellenblätter nach Code durchsucht)
- Als anderes Format speichern
- Reparieren Funktion nutzen und speichern
Wenn ich versuche die Datei reparieren zu lassen erhalte ich folgende Fehlermeldung:


error055480_01.xmlFehler in Datei 'XXX.xlsm'Die Datei war so stark beschädigt, dass sie nicht repariert werden konnte. Es wurde versucht, die Formeln und Werte zu speichern. Einige Daten sind jedoch möglicherweise verloren gegangen oder beschädigt worden.

Das Makro brauche ich nicht mehr, daher kann es entfernt werden.
Habt Ihr eine Idee wie ich wieder eine speicherbare Datei aufbauen kann um auf meine Auswertung zugreifen zu können?
Vielen Dank im Voraus
Viele Grüße
Robert

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
aus meiner Erfahrung taucht der Fehler u.a....
11.10.2016 19:11:38
MB12
Hallo Robert,
....auf, wenn du z.B. aus einer anderen Excel-Instanz ein Tabellenblatt einkopierst.
Zu den Makros kann ich nichts beitragen, deshalb auf offen.
Viel Glück
Margarete
AW: aus meiner Erfahrung taucht der Fehler u.a....
12.10.2016 12:50:10
andthen
Hallo Margarete,
vielen Dank für deinen Hinweis.
Ich habe in der Tat 4 Tabellenblätter aus einer anderen Datei reinkopiert,
das Problem wird dann wohl darauf zurückzuführen sein.
Wie hast du denn das Problem bisher gelöst bzw. die Dateien repariert oder hilft nur der manuelle Neuaufbau?
Ich kann die Datei nach entfernen aller Tabellenblätter + Code leider immer noch nicht speichern.
Danke nochmal!
VG
Robert
Anzeige
AW: aus meiner Erfahrung taucht der Fehler u.a....
12.10.2016 17:01:47
Piet
Hallo Robert
ich sehe du hast ein grosses Problem und bin bereit dir als alter Praktiker zu helfen. Das geht nur über gute Zusammenarbeit, denn ich sitze nicht vor deinem PC. Da würde ich mal 1 Stunde spielen in der Hoffnung so viel wie möglich retten zu können.
Das Problem scheinen die kopierten Tabellen zu sein. Mein Tipp für die Zukunft: - neue Tabellen in der Datei anlegen und nur den Inhalt der Tabellen rüberkopieren. Kannst du die eingefügten Tabellen wieder löschen? Was passiert dann mit der Datei?
Hast du noch eine Sicherungskopie, so das man nicht alles neu erstellen muss?
Wenn du willst machen wir gemeinsam einen Rettungsplan. Was hast du selbst bisher erreicht?
Mein Vorteil ist das ich programmieren kann. Mit einem Makro kann man sehr schnell Tabellen
von einer Datei in eine neue Datei kopieren. Kann so in kurzer Zeit eine neue Datei erstellen.
Dazu sollte ich den Namen deiner Datei wissen, und wieviele Tabellen es sind.
Mit dem beigefügten Makro kannst du alle Tabellen und User-Bereiche auflisten
mfg Piet
Sub Tabellen_auflisten()
Zahl = ThisWorkbook.Sheets.Count
On Error Resume Next
For j = 1 To Zahl
Cells(j + 1, 1) = j
Cells(j + 1, 2) = Sheets(j).Name
Cells(j + 1, 3) = Sheets(j).UsedRange.Address
Next j
End Sub

Anzeige
was ich dann gemacht habe....
12.10.2016 18:21:49
MB12
Hallo Robert,
Piet hat dir vermutlich ein sehr gutes Angebot gemacht - da kann ich nicht mithalten.
Trotzdem vorab einiges klären:
1. Hast du noch die Daten? Wenn ja:
2. neue Datei öffnen, per Copy + Paste mal die Daten eines Tabellenblatts einfügen, speichern, z.B: als Test1. Testen.
3. In diese Datei wiederum die Daten des nächsten Quellblatts einkopieren, als Test 2 speichern.
4. Falls es so nicht funktioniert: Das gleiche durchführen, aber nur die Werte einfügen.
Dann siehst du, bis zu welcher Version alles funktioniert und hast jeweils die Vorgängerversion, mit der du weiterarbeiten könntest.
Wenn du damit nicht weiterkommst: Die defekte Datei hochladen, damit Piet dir helfen kann.
Gruß, Margarete
Anzeige
AW: was ich dann gemacht habe....
13.10.2016 09:50:19
Piet
Hallo Rober,
hallo Margarete,
Piet hat dir vermutlich ein sehr gutes Angebot gemacht - da kann ich nicht mithalten.
ich bedanke mich für diesen netten Satz, aber du zeigst selbst das du mit deinem Wissen auch ganz schön mithalten kannst. Du empfielst nur die Werte zu kopieren, das ist sehr klug. Kopiert man die ganze Zelle/Bereich kopiert man evtl. auch Müll mit, den man garnicht haben will. Bei Excel 97 waren es z.B. Userdefinierte Zellformate die ungefragt mit übernommen wurden!
Ich bin bereit euch mit einer Beispieldatei zu helfen, weil es ja noch mehr zu retten gibt. Was ist mit Formeln im Blatt, Zeilenhöhe, Spaltenbreite, Zellen Formate, Schriftart, -grösse, -farbe. Das wird ja bei Werte kopieren nicht übernommen. Jede Tabelle kann auch im VBA Editor extra Eigenschaften eingestellt haben. Will man das alles von Hand neu einrichten braucht man viel Zeit und übersieht einiges. Mit einem Makro kann man das wesentlich schneller bearbeiten. Mache mir mal Gedanken dazu.
Einfach zwischendurch mal reinschauen wie weit ich bin
mfg Piet
Anzeige
AW: was ich dann gemacht habe....
13.10.2016 14:40:31
andthen
Hallo ihr beiden,
erst einmal vielen Dank für eure großartige Hilfe und vor allem dein großzügiges Angebot Piet.
Das weiß ich wirklich zu schätzen.
Ich habe die Datei nun, da ich sie schnellstmöglich benötigt habe händisch wieder neu aufgebaut.
Also wie von Margarete vorgeschlagen alle Tabellenblätter einzeln in einer neuen Datei durch reines kopieren und einfügen (nur die Daten, natürlich keine vollständigen Blätter als Ganzes) aufgebaut.
Das hat auf jeden Fall funktioniert und ich werde zukünftig keine vollständigen Tabellenblätter mehr kopieren.
In der Excelversion 2010 hatte ich damit in der Vergangenheit noch nie Probleme, das Verhalten ist jetzt erst mit Excel 2013 aufgetaucht.
@Piet wenn du dein Makro als allgemeines "Rettungsprogramm" für solche Fälle aufziehen möchtest, kann ich dir gerne noch eine Beispieldatei zur Verfügung stellen, damit eventuell anderen Kollegen die auf dieses Problem stoßen schnell geholfen werden kann.
Ansonsten bedanke ich mich nochmal recht herzlich bei euch beiden!
Vielen Dank und Grüße
Robert
Anzeige
freut mich..
13.10.2016 18:37:25
MB12
...für dich, Robert
und danke für das Lob, Piet
Wünsche euch einen schönen Abend :-)
Gruß, Margarete
AW: freut mich..
13.10.2016 22:08:04
Piet
Hallo an beide
ja, ich bin dran und habe m.E. sicher gute Ideen, würde mich über eine Beispieldatei freuen. Aber auch mein Makro kann eine Datei nicht vollständig regenerieren, dafür gibt es zuviele Details. Bei Rahmen z.B. ist der Aufwand den Bereich festzustellen einfach zu gross. Mit MergeCells, verbundene Zellen habe ich bisher auch nie gearbeitet, sie sind bei Programmierern allgemein nicht beliebt. Feinheiten wie Unterstrich, duchgestrichen, Schatten uns solche Sachen sind zuviel Aufwand um das alles zu prüfen.
Ebenso bleibt die Frage, was macht man mit UserForms und Blatt Objekten? Muss ich noch mit überlegen.
Meine Rettungsdatei wird schon "allgemein" gehalten sein, wir machen im Forum ja keine bezahlte Arbeit. Sie kann auch das weiterbearbeiten von Hand nicht ersetzen, aber hoffentlich erleichtern. Ich brauche schon 1-2 Tage Zeit, weil es eine Menge Überlegungen gibt. Macht aber Spass sich so ein Unikat auszudenken, man braucht Zeit unr Ruhe dafür.
Würde micht freuen wenn ihr beide die fertige Datei auf Herz und Nieren testen könntet.
mfg Piet
Anzeige
bin gespannt darauf :-) owT
15.10.2016 11:02:40
MB12
Gruß, Margarete
AW: bin gespannt darauf :-) owT
17.10.2016 15:57:16
Piet
Hallo an euch,
Sorry, es hat lange gedauert, hier meine erster Entwurf für eine Rettungsdatei. Weil der Thread bald rausfaellt habe ich einen neuen Thread aufgemacht, weil mich die Rückmeldung von Profis interessiert. (Datei beschädigt - Rettung Lösung)
https://www.herber.de/bbs/user/108828.xlsm
mfg Piet

285 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige