Forum: PC Hard- und Software Excel speichert nicht mehr, vernichtet stattdessen neue Daten


von Wühlhase (Gast)


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.

von oszi40 (Gast)


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.

von Taz G. (taz1971)


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.

von Hmmm (Gast)


Lesenswert?

Taz G. schrieb:
> Ich hab ein neues Icon für Altium gemacht und unter c:\Programme\Altium
> gespeichert.

Da kannst Du als normaler User nicht schreiben, so dass es vermutlich im 
VirtualStore gelandet ist.

von Wühlhase (Gast)


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.

von Joachim B. (jar)


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.

von Carypt C. (carypt)


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

von Jan H. (j_hansen)


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.

von Wühlhase (Gast)


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.

von Martin K. (mkmannheim) Benutzerseite


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.

von DPA (Gast)


Lesenswert?

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?

von Wühlhase (Gast)


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.

von c-hater (Gast)


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...

von Wühlhase (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.