Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1328to1332
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
Zellen mit VBA sperren und entsperren
28.08.2013 23:12:16
Justi
Hallo zusammen,
ich habe eine Excel-Tabelle (Blattschutz aktiv) in der von verschiedenen Bearbeitern Daten eingetragen werden. Die eingetragenen Daten werden durch einen zweiten Bearbeiter geprüft. Ist der Eintrag OK, wird in einer Zelle nach den Einträgen ein "c" eingetragen. Nun möchte ich das die Zellen (n-3) und (n-4),in Relation zur Zelle in der "c" eigetragen wurde, gesprerrt werden (pro Zeile gibt es 30 solcher "Kontrollspalten").
Muss ein Zelleneintrag doch nochmal geändert werden, wäre es super wenn die Zellen (n-3) und (n-4) wieder entsperrt werden, wenn die Zelle von "c" auf "-" umgestellt wird. Das soll nur von bestimmten Personen gemacht werden können, daher sollte das Umstellen von "c" auf "-" nur nach Paßwortabfrage möglich sein.
Ist das mit VBA realisierbar? Es wäre toll, wenn mir jemand weiterhelfen kann. Ich habe nämlich nicht wirklich Ahnung von VBA.
Viele Grüße
Justi

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen mit VBA sperren und entsperren
29.08.2013 09:48:14
Bastian
Hallo Justi,
sind die Kontrollspalten fix? Z. B. Spalte F ist Kontrollspalte, oder sind die Kontrollzellen in jeder Zeile unterschiedlich?
Mit anderen Worten: Kann ich die Kontrollzellen im Makro mit absoluten Bezügen ansprechen, oder muss ich die suchen?
Gruß, Bastian

AW: Zellen mit VBA sperren und entsperren
30.08.2013 08:15:10
Justi
Hallo Bastian,
vielen Dank für Deine Antwort. Die Kontrollspalten sind fest für jede Zeile!
Viele Grüße
Justi

AW: Zellen mit VBA sperren und entsperren
30.08.2013 11:40:35
Bastian
Hallo Justi,
hier mal ein Code, bei dem egal ist, wo die Kontrollzellen sind.
Du musst den Code (ab Option Explicit) ins Codefenster der Tabelle1 kopieren: Rechter Mausklick auf Tabelle1 => Code anzeigen.
Das Makro funktioniert etwa so:
Ausgangssituation: Blattschutz eingeschaltet, aber alle Zellen entsperrt.
Sobald in eine beliebige Zelle in "Tabelle1" in Range("A:P") (musst Du an zwei Stellen im Code anpassen) ein "C" eingegeben wird, werden die 3. und 4. Zelle links davon gesperrt.
Sobald versucht wird, eine Zelle mit einem "C" drin zu überschreiben, wird ein Passwort abgefragt (z.Z. "1234"). Auch dieses kannst Du im Code anpassen. Bei falschem Passwort bleibt das "C" in der Zelle und die Zellen relativ dazu gesperrt
Das "C" wird klein- oder großgeschrieben akzeptiert.
Option Explicit
Dim strAlterWert As String
Dim strPasswort As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("A:P"), Target) Is Nothing Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
If Target.Value = "C" Or Target.Value = "c" Then
ActiveSheet.Unprotect
Target.Offset(0, -3).Locked = True
Target.Offset(0, -4).Locked = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
If strAlterWert = "C" Or strAlterWert = "c" Then
strPasswort = InputBox("Bitte Passwort eingeben")
Select Case strPasswort
Case "1234"
ActiveSheet.Unprotect
Target.Offset(0, -3).Locked = False
Target.Offset(0, -4).Locked = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Case Else
Application.EnableEvents = False
Target.Value = strAlterWert
Application.EnableEvents = True
Exit Sub
End Select
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Range("A:P"), Target) Is Nothing Then Exit Sub
strAlterWert = Target.Value
End Sub

Hier nochmal die Zeilen, die angepasst werden müssen:
An zwei Stellen der Bereich, für den das Makro gültig sein soll:
If Intersect(Range("A:P"), Target) Is Nothing Then Exit Sub
Und das Passwort:
Case "1234"
Gruß, Bastian

Anzeige
AW: Zellen mit VBA sperren und entsperren
01.09.2013 21:46:54
Justi
Hallo Bastian,
der Code funktioniert super, genauso hatte ich mir das vorgestellt.
Vielen, vielen Dank für Deine Hilfe.
Viele Grüße
Justi

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige