Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Blatt in Arbeitsmappe nach Bearbeitung schuetzen





Frage

Hallo, erst einmal vielen Dank an Oliver "COROS ", Deine Seite und Deine Hilfsbereitschaft ist einfach super! Mit Deiner Hilfe bekomme ich meine Arbeitsmappe hin und lerne noch viel dabei! Nun zu meiner Frage: Ich habe eine Arbeitsmappe mit vielen Blaettern. Immer wenn ein Blatt bearbeitet wurde und zum naechsten Blatt gewechelt wird, soll das vorherige automatisch gespeichert und zu weiteren Eingaben geschuezt werden, ist das moeglich? Grusse Geniesser

Antwort 1 von coros

Nabend Geniesser,

danke Dir erst einmal für Deine Blumen.

Klar kann man das realisieren. Kopiere nachfolgenden Code in das VBA Projekt "DieseArbeitsmappe".

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
ActiveSheet.Protect "Passwort"
ActiveWorkbook.Save
End Sub



Mit dem Code wird immer wenn man das Blatt verläßt, um z.B. zum nächsten zu wechseln, geschützt und die Datei wird gespeichert. Du musst in dem Code, wo das Wort "Passwort" steht, das Passwort für den Blattschutz eintragen.

Ich hoffe, Du kommst klar.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Geniesser

Hallo Oliver,

ist es auch moeglich, dieses Blatt erst zu schuetzen wenn in einer bestimmten Zelle eine Endsumme eingegeben wird? Denn es kann ja sein, dass zwischendurch mal auf ein anderes Blatt gewechselt wird ohne das das vorherige beendet wurde?

Gruss Geniesser

Antwort 3 von coros

Hi Geniesser,

da Du nicht dazu geschrieben hast, ob es sich immer um einen andere Zelle handelt, die auf eine Zahl geprüft werden soll, bin ich mal von der einfachsten Variante ausgegangen, dass es sich immer um die gleiche Zelle handelt. Kopiere nachfolgenden Code wieder in das VBA Projekt "DieseArbeitsmappe".

Public Aktives_Blatt As String

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Aktives_Blatt = ActiveSheet.Name
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If Sheets(Aktives_Blatt).Range("A1") > 0 Then
ActiveSheet.Protect "Passwort"
ActiveWorkbook.Save
End If
End Sub

Hier wird Zelle A1 auf Inhalt überprüft. Wenn die Zelle A1 größer der Zahl1, dann Passwort vergeben und Speichern.

Wenn es jedes mal eine andere Zelle ist, funktioniert die ganze Geschichte so nicht.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von Geniesser

Hallo Oliver,

ja es handelt sich immer um die gleiche Zelle ... super DANKE!

Gruss Geniesser