Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Zellen nach Eingabe sperren

Forumthread: Zellen nach Eingabe sperren

Zellen nach Eingabe sperren
26.01.2026 11:57:38
ThorstenE
Hallo zusammen,

wir verwenden ein Excel-Tabelle (Office LTSC Standard 2024) in welcher Namen zu bestimmten Uhrzeiten als schlichte Tabelle eingetragen werden.
Nun kommt es immer wieder vor, das bereits eingetragene Namen durch andere Nutzer überschrieben werden.

Gibt es eine Möglichkeit, mit der leere Zellen durch jeden Nutzer beschrieben werden können und sobald ein Wert eingetragen wurde diese dann gesperrt sind?

Vielen Dank im Voraus

Gruß
Thorsten
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen nach Eingabe sperren
26.01.2026 12:20:48
Herbert Grom
Hallo Thorsten,

zuerst musst du sicherstellen, dass die "freien" Zellen entsperrt sind und das Tabellenblatt "gesperrt" ist, dann kannst du es mal damit im Class-Module deiner Tabelle probieren:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Value > "" Then Target.Locked = True
End Sub


Servus
Anzeige
AW: Zellen nach Eingabe sperren
26.01.2026 13:52:52
daniel
Hi
das geht, meinem Kenntnisstand nach, nur mit VBA.
ich würde aber, nicht wie von Herbert vorgeschlagen, die Sperre sofort nach der Eingabe aktivieren, sondern erst beim Speichern der Datei.
Damit hätte der Anwender die Möglichkeit, eigene Eingaben bei einem Fehler oder Vertipper noch selbst zu korrigieren.

Dazu muss dann folgender Code ins Modul "Diese Arbeitsmappe".
damit werden die beschriebenen Zellen geschützt, wenn die Datei gespeichert wird.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

With ThisWorkbook.Sheets("Tabelle1")
.Unprotect
.Cells.Locked = False
.Cells.SpecialCells(xlCellTypeConstants, 23).Locked = True
.Cells.SpecialCells(xlCellTypeFormulas, 23).Locked = True
.Protect
End With
End Sub


wenn du willst kannst du beim Protect/Unprotect noch ein Passwort ergänzen.
ich lass es eigentlich lieber ohne Passwort, weil ich davon ausgehe, dass solche Überschreiber nicht böswillig, sondern aus versehen passieren.

Wenn das Tabellenblatt keine Formeln enthält, dann musst du die Zeile mit dem xlCelltypeFormulas löschen oder auskommentieren.

Gruß Daniel
Anzeige
AW: Zellen nach Eingabe sperren
27.01.2026 09:39:18
Herbert Grom
Hallo Daniel,

dein Einwand ist perfekt und sehr berechtigt. Vielen Dank.

Servus
AW: Zellen nach Eingabe sperren
27.01.2026 09:44:23
ThorstenE
Hallo Daniel!

Genau das brauche ich.
Vielen Dank!

Jetzt schaffe ich es nur nicht den Code auf alle Arbeitsblätter anzuwenden.
Es ist immer jeweils ein Blatt pro Kalenderwoche (also z.B. 53 für 2026) mit dem Namensformat "KW 06 (02.02. - 08.02.)"

Ich vermute man muss die folgende Zeile anpassen:

With ThisWorkbook.Sheets("Tabelle1")

Gruß
Thorsten
Anzeige
AW: Zellen nach Eingabe sperren
27.01.2026 10:48:48
daniel
Alle Tabellenblätter

dim sh as Worksheet

For each sh in thisworkbook.worksheets
With sh
.unprotect

End with
Next
AW: Zellen nach Eingabe sperren
27.01.2026 11:38:49
ThorstenE
Offensichtlich habe ich mich bei Basiskenntnissen überschätzt.

Wenn ich die Formel so umbaue:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
With sh
.Unprotect
.Cells.Locked = False
.Cells.SpecialCells(xlCellTypeConstants, 23).Locked = True
.Protect
End With
Next
End Sub


Dann bleibt er in der Zeile "Cells.Special..." hängen.
Anzeige
AW: Zellen nach Eingabe sperren
27.01.2026 11:55:33
daniel
ist dieses Tabellenblatt leer oder enthält nur Formeln?
die .Specialcells verursachen leider einen Fehler, wenn sie keine passenden Zellen finden.
AW: Zellen nach Eingabe sperren
27.01.2026 12:22:27
ThorstenE
Jetzt funktioniert es!

Vielen Dank :)
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18