Excel speichert nicht mehr, vernichtet stattdessen neue Daten

Gast #7306591
Lesenswert?

Moin

Folgendes: Ich habe hier ein paar Exceltabellen, die mittels Makro kopiert werden. Heute bemerke ich, daß Excel neu eingegebene und gespeicherte Daten ignoriert und sogar aktiv löscht.

Normalerweise funktioniert das so:

  1. Exceldatei ändern, speichern und schließen: Excel-A.xlsm (V1.0) -> Excel-A.xlsm (V1.1)
  2. Makro kopiert Excel-A.xlsm (V1.1) -> Excel.A.xlsx (V1.1)

Das Makro funktioniert schon einige Jahre so, und wurde auch nicht verändert. Das Vorgehen mit dem Kopieren war leider früher mal notwendig. Es sind Bauteile für Altium, Altium konnte damals noch keine Exceltabellen so verwenden daß man sie gleichzeitig auch in Excel offen haben konnte.

Heute funktioniert das so:

  1. Exceldatei ändern, speichern und schließen(!): Excel-A.xlsm (V1.0) -> Excel-A.xlsm (V1.1)
  2. Makro kopiert Excel-A.xlsm (V1.1) -> Excel-A.xlsx (V1.1)
  3. Exceldateien öffnen, beide(!) Dateien sind auf dem veralteten Stand 1.0.

Es ist, als hätte Excel irgendwo noch eine Sicherheitskopie der alten Datei hermzuliegen und nimmt statt der Originaldatei diese her.

Hat irgendwer dasselbe beobachtet und weiß Abhilfe? Wie gesagt, das Makro ist relativ alt (das überschreibt nur die alte Datei und legt sie gleich neu an, es wird kein Inhalt verglichen oder so), und dieses komische Verhalten bemerke ich heute zum ersten Mal.

Gast #7306613
Lesenswert?

-Es könnte irgendwo noch eine Datei mit ~Tilde am Anfang liegen? -Ansonsten würde ich mal die Optionen und Rechte gründlicher ansehen. -Allerdings hat sich zwischen den MS-Excel-Versionen manchmal etwas geändert. -Eine nützliche Datei sollte man vor Experimenten sichern.

#7306676
Lesenswert?

Ich hab ein ähnliches Problem. Ich hab ein neues Icon für Altium gemacht und unter c:\Programme\Altium gespeichert. Im Icon Editor ist die Datei zusehen, er fragt auch soll ich überschreiben aber im Datei Explorer ist sie nicht da. Änderungen werden auch ignoriert. Abhilfe gibt start "als Administrator" oder umweg über ein Temp Verzeichnis. Starte Excel mal als Administrator vielleicht ist das so ein Rechte-Ding.

Gast #7306862
Lesenswert?

Also eine Sicherungskopie liegt nicht irgendwo herum. Entfernt wird nur, was ich gerade geändert habe, sonst nichts.

Komischerweise bleiben die Änderungen, wenn ich die Datei ganz normal wieder in Excel öffne, aber wenn ich danach mein Kopiermakro drüberlaufen lasse, sind die Änderungen wieder weg. Und wie gesagt, das ist nichts experimentelles, das Makro hat seit Jahren, mindestens drei oder vier Jahre, ohne Probleme seinen Dienst verrichtet. Und da sind auch keine komplizierteren Dinge drin, daß da irgendwas am Inhalt geprüft oder geändert werden sollte.

Ich habe mir jetzt mal die Einstellungen angesehen, ist ja echt schlimm was unterm Reiter "Speichern" so alles steht. "Standardmäßig auf dem Computer speichern" ist aus...und Excel fragte heute ein oder zweimal, ob ich die Datei nicht gerne hochladen möchte, dann hätte ich eine Versionshistorie (danke, die liefert mir SVN schon seit Jahren).

Ich habe jetzt mal den ganzen Cache-Kram deaktiviert. Mal sehen ob das hilft.

#7306912
Lesenswert?

oszi40 schrieb:

-Allerdings hat sich zwischen den MS-Excel-Versionen manchmal etwas geändert

manchmal ist witzig, innerhalb von 2 Office Pakete wurde mein Exel VBA Macro für einen ewigen Kalender (@work) ausser Betrieb genommen, ich frag mich nur wozu ein Interpreter für Macros nicht mehr kompatibel bleiben konnte!

So macht das keinen Spass Office Hilfsmittel zu benutzen.

#7307780
Lesenswert?

hmm, habe mal gelesen heutige dateisysteme würden anstatt eine geänderte datei komplett neu hinzuschreiben, sich nur ein paar änderungen irgendwo notieren. also bei den ssd macht das wohl sinn.

was mir bei notepad++ mal übelst aufgestoßen ist, war daß speichern bedeutet speichern unter dem gleichen namen am gleichen ort anstelle der originaldatei, anstatt zu fragen wo, oder standardordner und wie zu benennen zum speichern. kannte ich von windows so nicht, dort wurde immer zum überschreiben gefragt, originaldatei überschreiben mag ich erstmal gar nicht. naja muß man auch erstmal wissen. meine standartaktion wäre "speichern unter" und dort auch gerne anstelle der originaldatei, eben mit nachfrage ob überschreiben ok wär.

es scheint als würde excel die originaldatei mit schreibschutz behandeln. sind denn die änderungen unter einem anderen namen gespeichert beim öffnen in excel noch vorhanden ? wie könnte denn das makro die änderungen an der datei verwerfen können ? wegen anderer dateizugriffsweise ? kommt mit dem dateisystem nicht klar ?

tschulligung, alles vermutungen

#7307933
Lesenswert?

Carypt C. schrieb:

was mir bei notepad++ mal übelst aufgestoßen ist, war daß speichern bedeutet speichern unter dem gleichen namen am gleichen ort anstelle der originaldatei, anstatt zu fragen wo, oder standardordner und wie zu benennen zum speichern. kannte ich von windows so nicht, dort wurde immer zum überschreiben gefragt, originaldatei überschreiben mag ich erstmal gar nicht. naja muß man auch erstmal wissen. meine standartaktion wäre "speichern unter" und dort auch gerne anstelle der originaldatei, eben mit nachfrage ob überschreiben ok wär.

Persönliche Anekdote ohne Bezug zum Thema also... Und "speichern" bedeutet natürlich "Originaldatei überschreiben", das ist Standard betriebssystemübergreifend. "Speichern unter" ist dir ja eh bekannt. Und "Sie haben speichern gedrückt - sind Sie sicher dass Sie speichern wollen? Ja/Nein/Abbrechen" ist zum Glück aus der Mode.

Gast #7308136
Lesenswert?

Hier ist mal ein Codeauszug. Den ganzen Code will ich hier nicht reinstellen, der ist nicht tageslichttauglich.

1
  Set wb = Workbooks.Open(path)
2
  wb.SaveAs Filename:=targetPath & Replace(wb.name, ".xlsm", ".xlsx"), FileFormat:=xlWorkbookDefault
3
  wb.Close

"path" ist ein String mit dem Pfad der Quelldatei, "targetPath" ist der Pfad mit dem Ordner, wo die Kopie gespeichert werden soll. Keine Gelegenheit, daß das Makro Mist baut.

Ich habe es gerade nochmal getestet, mit den o.g. Einstellungen, das scheint jetzt zu funktionieren. So richtig traue ich dem Braten aber trotzdem noch nicht. Es wird echt Zeit, daß ich von MS Office etwas wegkomme. Zumindest mit meinen Bauteilen.

Gast #7308157
Lesenswert?

Carypt C. schrieb:

was mir bei notepad++ mal übelst aufgestoßen ist, war daß speichern bedeutet speichern unter dem gleichen namen am gleichen ort anstelle der originaldatei,

das kann man doch aber einstellen, oder? Außerdem müsste er ja ein back up angelegt haben.

Wie auch immer, Ich verwende solche Auto-Funktionen aus gutem Grund nicht.

Gast #7308698
Lesenswert?

DPA schrieb:

Wühlhase schrieb:

Heute bemerke ich, daß Excel neu eingegebene und gespeicherte Daten ignoriert und sogar aktiv löscht.

Könnte es sein, dass du die Maximale Anzahl an Zeilen, mit denen excel klar kommt, überschritten hast?

Nein. Das Blatt, wo mir das zuerst aufgefallen ist, war zwar schon sehr groß, aber ein anderes Blatt hatte nur fünf oder sechs Zeilen.

Ach ja, Excel begrenzt die Zeilen und Spalten ja schon von sich aus. Ich würde von Excel schon erwarten daß es mit seinem eigenen Limit klar kommt.

Gast #7308708
Lesenswert?

Wühlhase schrieb:

Ach ja, Excel begrenzt die Zeilen und Spalten ja schon von sich aus. Ich würde von Excel schon erwarten daß es mit seinem eigenen Limit klar kommt.

Wie meinst du das? Richtig ist: es gibt Limits. Richtig ist auch: Eine Verletzung der Limits erkennt Excel und meldet sie zurück. Allerdings tut es das nur interaktiv (also per Fehler-Dialog), wenn die Verletzung bei interaktiver Nutzung auftritt.

Wenn alllerdings unwissende Macro-Frickler Excel per unverstandendem VBA benutzen, fehlt typisch jede Form einer sinnvollen Fehlerbehandlung. Denn dann gibt's nix auf der Anwender-Oberfläche und eben auch keine sinnvolle Fehlerbehandlung.

Möglich wäre sie aber: Wenn man wirklich programmieren könnte...

Gast #7308886
Lesenswert?

Wenn man lesen könnte, wäre oft schon weit mehr gewonnen. Ich schrieb ja, daß das Makro nicht in den Dateien herumschreibt. Das Makro macht genau das, was du machen würdest, wenn du die Datei öffnest, und mit "Speichern unter..." woanders abspeicherst. Als .xlsx anstatt als .xlsm.

Und ich schrieb auch, daß sich das erstmal erledigt zu haben scheint.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren