Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1712to1716
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Code um einzelne Zellen zu sperren

VBA Code um einzelne Zellen zu sperren
23.09.2019 19:14:15
Christian
Grüßt euch,
ich benötige für mein Projekt eure Hilfe. Beim durchsuchen des Forums habe ich zwar einige Einträge gefunden, welche sich mit dem Sperren von Zellen beschäftigen, jedoch hat sich keiner direkt mit meinem Problem beschäftigt.
Erste Frage:
Der Bereich A1 bis A4 und B4 in Tabellenblatt "Eingabe" soll gegen löschen, überschreiben etc. gesperrt werden.
Ich könnte dies natürlich über die Daten und Gültigkeitsbereichsfunktion lösen, jedoch hätte ich dies gerne per VBA makro programmiert.
mit der worksheet.protect funktion sperrt es mir immer das gesamte Blatt :-/.
Zweite Frage:
Wie sähe der Code aus, wenn ich das gesamte Blatt bis auf ein paar spezielle Zellen speeren lasse.
Dritte Frage:
Der Bereich A5:A250 darf ausschließlich Datumsangaben enthalten und der Bereich B5:B250 ausschließlich Ganz und kommazahlen.
Könnt ihr mir hier noch mit der passenden Code-Funktion aushelfen.
Als VBA Neuling fällt es mir schwer nach dem richtigen Code zu suchen, wenn ich nicht weiß nach was ich im Netz suchen soll ;-).
Vielen Dank für eure Hilfe.
Grüße Christian

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code um einzelne Zellen zu sperren
23.09.2019 19:18:57
Regina
Hi,zu den Fragen 1 und 2:
Du kannst einzelne zellen von dem protect ausschließen. Dafür brauchst Du kei n VBA. Markiere die Zellen, dann Rechtsklick, Zellen formatieren. Dort auf dem reiter "Schutz" den Haken bei "Gesperrt" entfernen. Damit sind nach dem Protect-Befehl diese Zellen nicht gesperrt.
Für die 3. Frage empfehle ich Dir den Makrorekorder, der sollte das gewünschte Ergebnis liefern.
Gruß
Regina
AW: VBA Code um einzelne Zellen zu sperren
23.09.2019 19:37:07
Christian
Hi Regina,
danke für die schnelle Antwort.
Ich habe mein Problem wohl nicht richtig formuliert :L, denn wenn ich per Gültigkeitsabfrage einstelle, dass nur Datumsangaben in der Zelle erlaubt sind, kann der Anwender trozdem noch eine Ganzzahl eingeben. Diese rechnet Excel dann halt in ein Datum um.
Das selbe mit der Spalte B5:B250, dort darf von vorn herein nur Zahlen als Dezimalzahl eingegeben werden. Nicht etwa im Datumsformat etc.
Und das problem mit dem "händischen Sperren" der Zellen ist, dass der Anwender auch ggf. deutlich mehr Daten in der Spalte B einträgt als bis Zeile B250, sprich ich muss den Sperrbereich dynamisch halten.
Anzeige
AW: VBA Code um einzelne Zellen zu sperren
24.09.2019 01:43:36
Piet
Hallo Christian
im Eingabe Blatt kannst du den Bereich A1 bis A4 und B4 manuell auf gesperrt setzen, und dann den Blattschutz OHNE Passwort aktivieren.
Das reicht zum Schutz vor überschreiben völlig aus. Den Schutz musst du auch nicht deaktivieren! Vorteil: man vergisst das Passwort Nicht!!!
Den Rest probier bitte mal mit diesem Makro aus. Es gehört ins Blatt "Eıngabe", nicht in ein Modul!!
Würde mich freuen wenn du damit dein Problem zufriedenstellend lösen kannst ...
mfg Piet

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row  250 Then Exit Sub
If Target.Column > 2 Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target.Value = Empty Then Exit Sub
If Target.Column = 1 Then
If Not IsDate(Target) Then
Application.Undo   'Eingabe rückgaengig machen!
MsgBox "Die Eingabe war kein gültiges Datum!"
End If
End If
If Target.Column = 2 Then
If IsDate(Target) Or Not IsNumeric(Target) Then
Application.Undo   'Eingabe rückgaengig machen!
MsgBox "Die Eingabe war keine Ganz oder Kommazahl!"
End If
End If
End Sub

Anzeige

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige