Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
888to892
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
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Erneutes Speichern verhindern

Erneutes Speichern verhindern
24.07.2007 17:09:00
Mathias
Hallo,
folgenden einfachen Quellcode habe ich:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Worksheets("Tabelle2").Activate
Save
Worksheets("TabelleXYZ").Activate
ThisWorkbook.Saved = True  ' ?
End Sub


Mit dem Quellcode möchte ich erreichen, dass die Datei beim Speichern immer mit aktiviertem Tabellenblatt 2 gespeichert wird.
Da die Datei im Freigabemodus läuft, muss das Ganze beim Speichern und nicht beim Schließen passieren.
Dummerweise wird bei obigem Quellcode nach "ThisWorkbook.Saved = True" die Datei ein zweitesmal gespeichert. Wie kann ich das verhindern?
Viele Grüße
Mathias

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erneutes Speichern verhindern
24.07.2007 17:14:05
Guido
Hi,
das geht bei Freigabe nicht.
mfg Guido

AW: Erneutes Speichern verhindern
24.07.2007 21:18:00
Mathias
Hallo Guido,
ohne Freigabe funktioniert der Quellcode aber genauso wenig. Es wird ebenfalls 2 x gespeichert,
also noch einmal zusätzlich nach "ThisWorkbook.Saved = True".
Gibt es evtl. auf anderem Weg eine Möglichkeit das Gleiche zu erreichen?
Viele Grüße
Mathias

AW: Erneutes Speichern verhindern
24.07.2007 22:24:00
Uduuh
Hallo,

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Worksheets("Tabelle2").Activate
Save
cancel=true
Worksheets("TabelleXYZ").Activate
ThisWorkbook.Saved = True  ' ?
End Sub


Gruß aus’m Pott
Udo

Anzeige
AW: Erneutes Speichern verhindern
25.07.2007 17:46:35
Mathias
Hallo Udo,
mit cancel = true wird garnicht mehr gespeichert. Ist leider auch keine Lösung.
Trotzdem danke für den Tipp.
Viele Grüße
Mathias

AW: Erneutes Speichern verhindern
25.07.2007 20:35:52
Matthias
Hallo Matthias
Was willst Du denn erreichen ?
Bist Du Dir darüber im Klaren, das die Befehlszeile:
ThisWorkbook.Saved = True nur simmuliert, das keine Daten geändert wurden.
Auch wenn Du Daten geändert hast, bewirkt Saved=True das Excel sich so verhält, als ob nichts passiert wäre. Es kommt auch keine Auffforderung zum speichern.
Hast Du also Daten geändert und setzt z.B. vor dem Schliessen der Datei Saved=True, dann werden Deine Änderungen verworfen und die Datei geschlossen.(ohne zu speichern)
Deshalb verstehe ich jetzt nicht ganz, warum Du nach SAVE nochmal die Tabelle wechselst?
Auch kann ich jetzt nachvollziehen wieso nach ThisWorkbook.Saved=True die Datei (nach Deiner Erläuterung) ein 2'tes mal gespeichert wird. Ist eigentlich logisch!
Dein Code:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Worksheets("Tabelle2").Activate
Save 'hier der Punkt für's doppelte speichern
Worksheets("TabelleXYZ").Activate
ThisWorkbook.Saved = True  ' ?
End Sub


Du weist Excel an mit BeforeSave zu speichern also vor dem Speichern - Speichern (ist unnötig!)
Eigentlich reicht schon:


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Worksheets("Tabelle2").Activate
End Sub


soll heißen vor dem Speichern "Tabelle2 aktivieren - Ende.
Userbild

Anzeige
ERLEDIGT AW: Erneutes Speichern verhindern
26.07.2007 03:53:00
Mathias
Hallo Matthias,
das mit ThisWorkbook.Saved = True war mir so noch nicht ganz bewußt.
Danke für den Hinweis.
Hab das Problem jetzt so gelöst, dass in "beforesave" nur auf das entsprechende Blatt gewechselt wird und dann ganz normal gespeichert wird.
Die Rückkehr zum "alten" Tabellenblatt nach dem Speichern hab ich dann mit dem Ansatz aus der folgenden Datei gelöst:
http://hajo-excel.de/gepackt/vba/datei_schlieszen_nach_zeit.zip
Hab das Ganze nur so umgestrickt, dass die Datei nicht geschlossen wird, sondern eben nur auf das alte Blatt wieder zurückgesprungen wird.
Nochmals vielen Dank für alle Tipps.
Viele Grüße
Mathias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige