Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
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


Hallo zusammen,
wie bekomme ich es hin, in eine Zelle "7 a" (7 Leerzeichen a) zu schreiben? Excel macht mir dann immer 7:00 AM daraus oder 0,29...
Danke

Guten Morgen!
Ich hätte folgendes Problem: Ich erhalte automatisiert Exceltabellen, bei denen nicht alle Zellen einer Zeile gefüllt werden, wenn dort der Inhalt einer darüberliegenden Zeile stehen sollte. Zur Weiterverarbeitung muss ich aber diese Zellen mit den dazugehörigen Werten füllen....

Guten Tag zusammen!
Bitte helft mir bei folgendem Problem:
In einer Userform habe ich eine ganze Reihe Textboxen, in die zum größten Teil Zahlen eingegeben werden.
Nun ist ja bekannt, dass beim Schreiben in Zellen der Inhalt der Textboxen als Text interpretiert wird. Mit der Anweisu...

Guten Tag zusammen!
Bitte helft mir bei folgendem Problem:
In einer Userform habe ich eine ganze Reihe Textboxen, in die zum größten Teil Zahlen eingegeben werden.
Nun ist ja bekannt, dass beim Schreiben in Zellen der Inhalt der Textboxen als Text interpretiert wird. Mit der Anweisu...

Hallo,
ich möchte den Wert in farbigen Zellen addieren.
Z.B.
Zelle A1 :C1 Zellfarbe gelb, in jeder Zelle steht der Wert 1 ; Ergebnis soll 3 sein
oder
Zelle A2 = grün Wert =1, B2 = gelb Wert=2, C2 = gelb Wert =2; Ergebnis soll 4 sein
gibt es dafür eine Funktion oder is...

Halli Hallo,
ich bin ziemlicher Neuling in VBA. Daher würde ich euch bitten mir bei meiner Fragestellung zu helfen und zwar wie folgt: Ich möchte aus einer Tabelle aller Zellen kopieren, bis der Wert einer Zelle 0 annimmt. Diesen bestimten Bereich möchte ich in einer neuen Datei abspeichern...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige