Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Arbeitsmappe speichern beim Schließen





Frage

Hallo an @lle, Frage: ****** Gibt es eine Möglichkeit meine Arbeitsmappe zu schließen und dabei automatisch im Hintergrund zu speichern, ohne das diese Meldung (Sollen Ihre Änderungen.... gespeichert werden?) kommt. lg Robert Danke schon im Vorhinein für die Antwort :-)

Antwort 1 von Pistenschreck

Hallo Robert

Dieser Code gehört in Diese Arbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Close SaveChanges:=True
End Sub

Gruss Werner

Antwort 2 von M.O.

Hallo,

wechsle in die VBA-Umgebung (Alt-F11) und füge bei DieseArbeitsmappe den folgenden Code ein:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ThisWorkbook.Saved = False Then
ThisWorkbook.Save
End If

End Sub


Die Arbeitsmappe wird beim Schießen automatisch und ohne Nachfrage gespeichert.

Gruß

M.O.

Antwort 3 von robertu

Danke :-) funktioniert prima!

Doch gibt es auch eine Möglichkeit von der Arbeitsmappe nur das Tabellenblatt "Tabelle2" zu speichern. Und alle Eingaben bzw Veränderungen in den anderen Tabellenblättern zu verwerfen?

Lg Robert

Antwort 4 von robertu

Hallo an @lle,

wahrscheinlich ist das speichern eines einzelnen Tabellenblatt in Excel nicht möglich.
Es wäre mir schon sehr geholfen, wenn es eine Möglichkeit gäbe bevor ich folgendes Makro ausführe:

---------- Code -----------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ThisWorkbook.Saved = False Then
ThisWorkbook.Save
End If

End Sub
---------- Code -----------

auf ein bestimmtes Tabellenblatt springe! und erst danach dieses Makro ausgeführt wird. Das Tabellenblatt heißt "Messkreis-Prüfblatt"

Grund für dieses Vorhaben: Da es sich um eine Vorlage handelt, die einen automatischen Speicherbutton besitzt welcher beim betätigen eine Kopie (ohne Makros) dieser Vorlage mit einem bestimmten Namen in ein bestimmten Ort speichert (und nur ein Tabellenblatt), habe ich nun das Problem das die Vorlage nach Beendigung der Eingabe wieder in den Grundzustand gehen soll. Momentan führe ich einfach ein paar Makros beim Start aus um mir die Vorlage wieder zu säubern.

Warum ich dann dieses Speicher beim schließen ausführe?
Ganz einfach: in dieser Vorlage befinden sich mehrere Listen, welche bei der Eingabe eines Protokolles automatisch ergänz werden und somit als kleine Datenbank fungieren weiteres habe ich auch noch DropDown Menus welche auf eine Tabelle in der Arbeitsmappe zugreifen.

Warum ich derzeit ein Problem damit habe:
Wenn ich zufällig auf einem anderen Tabellenblatt bin und auf schließen gehe, speichert er mir die Arbeitsmappe automatisch. (alles noch wie gewollt) aber beim Starten führt er mir meine Säuberungsmakros aus welche am aktive Arbeitsblatt ausgeführt werden.



der VB-Code liegt bei mir unter "DieserArbeitsmappe" und wird beim schließen dieser Arbeitsmappe automatisch ausgeführt. Danke nochmal an M.O.

Mir fällt gerade ein, dass es eine weitere Lösung gäbe.

Welches Makro benötige ich, um beim Starten meiner Excel Datei automatisch auf ein bestimmtes Tabellenblatt zu springen?

DANKE an @lle
Lg Robert

Antwort 5 von M.O.

Hallo Robertu

für ein bestimmtes Tabellenblatt bei Start gib den folgenden Code bei
"Diese Arbeitsmappe" ein:

Private Sub Workbook_Open()
Worksheets("Arbeitsblattname").Activate
End Sub


Statt Arbeitsblattname musst du natürlich den Namen des entsprechenden Arbeitsblattes angeben.

Gruß

M.O.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: