Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Makro-Progammierung / Zellschutz nach Eingabe





Frage

Hallo, ich suche nach der richtigen Makro-Programmierung für folgenden Fall. Die Spalten C - Q sind Eingabespalten. Die Eingaben sollen jedoch nach Abspeicherung nicht wieder gelöscht werden können. Die Zellen können über den Blattschutz nicht gesperrt werden, da sie im "Leer-Zustand" Eingabefelder sind.

Antwort 1 von coros

Hi Ratzkatzi,

Du wirst das aber über den Blattschutz realisieren müssen. Das geht, auch wenn Du Zellen hast, in denen Du trotz eingeschaltetem Blattschutz Eingaben machen möchtest. Zunächst einmal musst Du alle Zellen, in denen Du eine Eingabe trotz Blattschutz machen möchtest, markieren. Danach mit der rechten Maustaste in den markierten Bereich klicken und dort dann "Zellen formatieren..." auswählen. Danach in die Registerkarte "Schutz" wechseln und den Haken bei gesperrt entfernen. Dann mit OK das Fenster schließen. Danach den nachfolgenden VBA-Code in das VBA Projekt "DieseArbeitsmappe" einfügen.

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Bereich As Range
For Each Bereich In ActiveSheet.UsedRange.Cells
If WorksheetFunction.CountA(Bereich) <> 0 Then
ActiveSheet.Unprotect ""
On Error Resume Next
Bereich.Locked = True
ActiveSheet.Protect ""
End If
Next
ThisWorkbook.Save
End Sub


Mit dem Code werden Dir alle Zellen, die beim Schließen der Datei Texte enthalten, geschützt.

Ich hoffe, Du kommst klar. Bei Fragen oder Problemen mit dem Code melde Dich.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 1 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

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 Ratzkatzi

Hallo Oliver,

erstmal vielen herzlichen Dank für Deine Hilfe. Bin echt weitergekommen und hat auch alles super funktioniert.

Jetzt brauch ich aber trotzdem noch einen kleinen "Feinschliff":

Das Makro darf nur für den Zellbereich "C6:Q1995" gelten, sonst funktioniert z. B. der Autofilter nicht mehr.
Kannst Du die Programmierung nochmal umschreiben? :-) Danke schön

Deine Homepage habe ich mir auch schon kurz angesehen. Werde ich demnächst mal öfters besuchen um mich weiterzubilden

Gruß
Kerstin

Antwort 3 von coros

Hallo Kerstin,

das hat weniger mit dem Bereich zu tun, sondern mehr mit dem aktiven Blattschutz. Man kann bei aktivem Blattschutz nicht den AutoFilter bedienen. Man müsste das über z.B. eine UserForm realisieren, in der man die Daten für den Autofilter gelistet bekommt und dort die Auswahl für die Filterkriterien auswählen kann. Dann kann nach der Auswahl der Blattschutz automatisch deaktiviert werden, die Filterkriterien an den Autofilter übergeben werden, so dass dieser sich aktualisieren kann und dann den Blattschutz wieder automatisch setzen.

Das hört sich sicherlich ziemlich kompliziert an, ist es aber nicht. Allerdings kann man das nur anhand einer Beispieldatei erklären. Wenn Du etwas Zeit hast, erstelle ich Dir diese (kann aber unter Umständen erst morgen sein) und lade die dann auf meiner Homepage hoch. Zum Erstellen einer solchen Beispieldatei müsste ich aber wissen, in welchen Spalten wird der Autofilter angewendet, damit ich ein Beispiel ein bisschen auf Deine Tabellenstruktur bezogen erstellen kann. Wenn Du mir dann auch noch Deine E-Mail verrätst, schicke ich Dir eine kurze Benachrichtigung, wenn die Datei fertig ist. ich werde es aber auch in diesem Thread bekannt geben.

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 coros

Hy Kerstin,

ich habe Dir mal eine Beispieldatei erstellt, die Du Dir
hier
herunterladen kannst. Schau Sie Dir mal an. Bei Fragen melde Dich.

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 5 von Ratzkatzi

Hallo @ll,

also Oliver hat mir wunderbar weitergeholfen. Seine Homepage ist empfehlenswert. Die Hilfe war prompt und auch für Laien gut nachvollziehbar und verständlich!

Herzlichen Dank an Oliver

Gruß
Kerstin

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


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: