Nach jeder zelle speichern

hi leute
also ich möchte das wenn ich in mein excel document eine zelle schreibe, immer gleich gespeichert wird! geht soetwas? das man falls man am ende bei speichern ausversehn nein drückt trotzdem vorher schon alles gespeichert wurde… danke im vorraus!
liebe grüße Skandalös

also ich möchte das wenn ich in mein excel document eine zelle
schreibe, immer gleich gespeichert wird! geht soetwas? das man
falls man am ende bei speichern ausversehn nein drückt
trotzdem vorher schon alles gespeichert wurde… danke im
voraus!

Hallo Skandalös,

es gibt da unter Extras–Add-In Manager ein Add-In "Automatisches Speichern, wäre das was? Da kannst du die automatishce Speicherzeit einstellen, ich glaub in Minuten.

Ansonsten:
Alt+F11, Doppelklick links auf „Diese Arbeitsmappe“, Code einfügen, VB-Editor schließen.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
ThisWorkbook.Save
End Sub

Allerdings, bei großen Mappen kann es langsam werden wenn nach jeder Zelländerung die Mappe gepeichert wird.

Vielleicht so mal probieren,
wieder Alt+F11, Doppelklick auf "DieeeArbeitsmappe, obigen Code rauswerfen, dafür diese zwei Codes reinkopieren

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ThisWorkbook.Save
End Sub

Gruß
Reinhard

hallo reinhard,
also das mit dem code:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ThisWorkbook.Save
End Sub

geht irgendwie nicht, wenn ich am ende auf „soll änderung gespeichert werden?“ nein drücke und das document neu öffne ist alles weg! Aber schonmal danke für die anregung! Vielleicht weiß sonst noch jemand etwas?!
liebe grüße Skandalös

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean,
Cancel As Boolean)
ThisWorkbook.Save
End Sub

geht irgendwie nicht, wenn ich am ende auf „soll änderung
gespeichert werden?“ nein drücke und das document neu öffne
ist alles weg! Aber schonmal danke für die anregung!

Hallo Skandalös,

sorry, hatte nicht getestet, muß jetzt weg, wenn nix anderes kommt schau ich nachher nochmal danach.

Gruß
Reinhard

Hallo Skandalös,

also das mit dem code:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean,
Cancel As Boolean)
ThisWorkbook.Save
End Sub

geht irgendwie nicht, wenn ich am ende auf „soll änderung
gespeichert werden?“ nein drücke und das document neu öffne
ist alles weg! Aber schonmal danke für die anregung!

Die Workbook_BeforeClose-Prozedur ist schon die richtige.
Sie wird aber nur in der Datei aktiv wenn:

  1. Sie im VBA-Editor unter „DieseArbeitsmappe“ der Datei gespeichert ist.
  2. Die Makros für die Datei aktiv sind, bzw. beim Öffnen der Datei aktiviert wurden.
  3. Der Status von Application.EnableEvents zum Zeitpunkt des Schliessens der Datei =True ist. Dies ist normalweise der Fall, es sei denn er wurde in irgendeiner Prozedur auf False gesetzt aber nicht wieder auf True. Kann zum Beispiel auch beim Abbruch eines Makros passieren, wenn schlecht programmiert wurde.

Ich würde allerdings eine der beiden folgenden Varianten vorschlagen.
Die erste „erzieht“ zum Speichern vor dem Schließen.
Die zweite verdoppelt die Sicherheitsabfrage und ermöglicht so immer noch das bewußte Schließen der Datei ohne Speichern.

Gruß
Franz

'Schließen einer nicht gespeicherten Datei abbrechen
Private Sub Workbook\_BeforeClose(Cancel As Boolean)
 With ThisWorkbook
 If .Saved = False Then
 Cancel = True
 MsgBox "Die Datei """ & Me.Name & """ wurde noch nicht gespeichert!" \_
 & vbLf & "Bitte Datei erst Speichern dann Schliessen."
 End If
 End With
End Sub

'Vor dem Schließen einer nicht gespeicherten Datei nachfragen
'Die Sicherheitsabfrage wird verdoppelt
Private Sub Workbook\_BeforeClose(Cancel As Boolean)
 With ThisWorkbook
 If .Saved = False Then
 If MsgBox("Die Datei """ & Me.Name & """ wurde noch nicht gespeichert!" \_
 & vbLf & "Datei jetzt Speichern?", vbYesNo + vbQuestion, "Datei vor Schliessen speichern") \_
 = vbYes Then
 .Save
 End If
 End If
 End With
End Sub

geht irgendwie nicht, wenn ich am ende auf „soll änderung
gespeichert werden?“ nein drücke und das document neu öffne
ist alles weg! Aber schonmal danke für die anregung!

Hallo Skandalös,

okay, gehen wir die Sache mal anders an.
Wenn du auf Datei–Speichern gehst kommt die Abfrage nicht.
Bei Speichern unter auch nicht.

Die Abfrage kommt wenn du in der Datei etwas geändert hast und dann oben rechts auf das Schließkreuz klickst oder auf Datei–Beenden.
Reden wir da über das Gleiche oder meinst du noch was anderes?

Ich sehe da schon eine Möglichkeit, allerdings kommt da halt keine Abfrage mehr, Datei beenden bedeutet die neue Version überschreibt die alte.

Aber beantworte erstmal meine Nachfrage ob wir über das Gleiche reden.

Gruß
Reinhard

Sorry Franz,

ich hatte deine Antwort nicht gesehen als ich neu antwortete, sonst hätte ich es erstmal gelassen.

und ermöglicht so
immer noch das bewußte Schließen der Datei ohne Speichern.

Ich persönlich möchte auch bei bestimmten Dateien gerne Schließen ohne Speichern durchführen können, was ja irgendwie zwangsläufig bedeutet es muß da eine Abfrage kommen.

Deshalb habe ich diesen Punkt nochmal erwähnt in der neuen Antwort um Skandalös darauf hinzuweisen, daß wenn man das umsetzt was er möchte er kaum eine Chance (Systemabsturz *gg*) hat um die Mappe ungepeichert zu beenden.

Gruß
Reinhard

Gruß
Franz

'Schließen einer nicht gespeicherten Datei abbrechen
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With ThisWorkbook
If .Saved = False Then
Cancel = True
MsgBox „Die Datei „““ & Me.Name & „“" wurde noch nicht
gespeichert!" _
& vbLf & „Bitte Datei erst Speichern dann Schliessen.“
End If
End With
End Sub

'Vor dem Schließen einer nicht gespeicherten Datei nachfragen
'Die Sicherheitsabfrage wird verdoppelt
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With ThisWorkbook
If .Saved = False Then
If MsgBox(„Die Datei „““ & Me.Name & „“" wurde noch
nicht gespeichert!" _
& vbLf & „Datei jetzt Speichern?“, vbYesNo +
vbQuestion, „Datei vor Schliessen speichern“) _
= vbYes Then
.Save
End If
End If
End With
End Sub

also ich meine das so,
ich habe ein leeres document, das schreibgeschützt ist, dann wenn ich etwas in eine zeile schreibe, kann es nicht mehr verändert werden durch den schreibschutz. wenn ich das dokument nun schließe (ausversehn oder einfach weil ich fertig bin) sollen trotzdem die inhalte die ich reingeschrieben habe gespeichert werden auch wenn ich bei speichern auf nein drücken sollte… praktisch:
ich schreibe in zelle A1: „hallo“ Zelle B1: „Tschau“. schließe das document und speichere nicht ab, das sollen die zellen selbst erledigen drücke bei der frage speichern auf nein! beim nächsten öffnen sollen trotzdem „hallo“ und „Tschau“ drin stehen! Hoffe es ist verständlich…
liebe grüße skandalös

Hallo Skandalös,

also ich meine das so,
ich habe ein leeres document, das schreibgeschützt ist, dann
wenn ich etwas in eine zeile schreibe, kann es nicht mehr
verändert werden durch den schreibschutz. wenn ich das
dokument nun schließe (ausversehn oder einfach weil ich fertig
bin) sollen trotzdem die inhalte die ich reingeschrieben habe
gespeichert werden auch wenn ich bei speichern auf nein
drücken sollte… praktisch:
ich schreibe in zelle A1: „hallo“ Zelle B1: „Tschau“. schließe
das document und speichere nicht ab, das sollen die zellen
selbst erledigen drücke bei der frage speichern auf nein! beim
nächsten öffnen sollen trotzdem „hallo“ und „Tschau“ drin
stehen! Hoffe es ist verständlich…

verständlich? JA
möglich? NEIN

Eine schreibgeschützte Datei kann in Excel nicht unter Ihrem eigenem Namen gespeichert werdet!
Das Motto „Wasch mich“ (Speichere mich) „aber mach mich nicht nass!“ (ich bin aber schreibgeschützt) funktioniert hier auch nicht.

Was willst du denn durch den Schreibschutz der Datei erreichen?
Ggf. solltest du eine der Optionen bei Speichern unter nutzen. z.B. Ändern der Datei nur mit Kennwort.

Gruß
Franz

hallo franz
ich will eine liste schreiben, in der andere personen etwas schreiben können es jedoch nicht mehr rauslöschen können (es geht um eine übung in der mitarbeiter ihre stunden eintragen aber nicht mehr löschen können sondern nur stonieren!) also das erste schreiben geht nach dem schreiben einer zeile kann ich aber nichts mehr rückgängig machen. es wäre doch jetzt scheiße wenn der letzte mitarbeiter am abend das document schließt, nciht auf speichern drückt dann wäre alles verloren!? da muss es also doch etwas geben damit ich speichere sobald ich die zelle verlasse (ab da wo ich durch den schreibschutz eh nichts mehr ändern kann)… vielen dank für die bisherigen antworten!
liebe grüße Skandalös

hallo Skandalös,

ich habe ein leeres document, das schreibgeschützt ist, dann
wenn ich etwas in eine zeile schreibe, kann es nicht mehr
verändert werden durch den schreibschutz.

da ist doch was faul. Wenn du ein Blatt schützt, davon einige Zellen ausnimmst, so kannst du dort etwas eintragen und selbstverständlich auch abändern.
In den geschützten zellen kannste eh nix eintragen.

wenn ich das
dokument nun schließe (ausversehn oder einfach weil ich fertig
bin) sollen trotzdem die inhalte die ich reingeschrieben habe
gespeichert werden auch wenn ich bei speichern auf nein
drücken sollte… praktisch:

Die einfachste Lösung dazu wäre, dann klicke halt nicht auf nein wenn du ja meinst :smile:

Ich habe dir angeboten zu schauen wie es geht, daß diese Abfrage nicht mehr kommt. Keine Antwort dazu.

Dann erwähnte ich das eine Add-Inn. Auch keine Antwort.

Verbessere bitte dein Feedback, danke.

Gruß
Reinhard

vielen dank! es hat endlich geklappt hab euren code vermischt und verändert und etz gehts danke nochmal für die anregungen…