Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1680to1684
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

Benutzer darf bearbeiten - sperren

Benutzer darf bearbeiten - sperren
12.03.2019 01:45:43
bassi
Hallo liebe Exceler :-)
vielleicht weiß jemand eine VBA Lösung?
Es gibt 10 Bereiche auf einem geschützten Tabellenblatt.
Bereich 1:
F9 und F10 sind per "Benutzer darf bearbeiten" geschützt.
Diese Bearbeitung soll aber nur möglich sein, wenn in C5 eine
1 steht. C5 ist ebenfalls per "Benutzer darf bearbeiten"
geschützt (anderer Benutzer), soll aber immer zugänglich sein.
(steht in C5 keine 1, dann ist die Zelle leer)
Bereich 2:
F19 und F20 sind per "Benutzer darf bearbeiten" geschützt.
Diese Bearbeitung soll aber nur möglich sein, wenn in C15 eine
1 steht. C15 ist ebenfalls per "Benutzer darf bearbeiten"
geschützt (anderer Benutzer), soll aber immer zugänglich sein.
(steht in C15 keine 1, dann ist die Zelle leer)
usw... bis Bereich 10
Es gibt einen Code von Großmeister Hajo.
Der würde vielleicht gehen.
Aber ich kriege das nicht hin, die einzelnen Bereiche zuzuweisen.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'   erstellt von Hajo Ziplies 19.12.02
'   bestimmte Zellen dürfen nur gewählt werden
'   wird eine Zelle außerhalb des Bereich gewählt wird immer die erste Zelle gewählt
'   im Beispiel B3
'   sollen Formel geändert werden sind diese einzeln auszuwählen
Dim RaBereich As Range, RaZelle As Range
If Range("a1") = "1" Then Exit Sub
'   Bereich der Wirksamkeit
Set RaBereich = Range("a1,B3:C20,D1:D17,f2:f4,f11:f20")
For Each RaZelle In Range(Target.Address)
'       überprüfen ob Zelle im vorgegebenen Bereich
If Intersect(RaZelle, RaBereich) Is Nothing Then
Application.EnableEvents = False
Range("B3").Select
Application.EnableEvents = True
Exit For
End If
Next RaZelle
End Sub

Würde mir jemand hier behilflich sein? Das wäre furchtbar lieb.
Viele Grüße
bassi

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzer darf bearbeiten - sperren
12.03.2019 08:57:56
Manuela

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'   erstellt von Hajo Ziplies 19.12.02
'   bestimmte Zellen dürfen nur gewählt werden
'   wird eine Zelle außerhalb des Bereich gewählt wird immer die erste Zelle gewählt
'   im Beispiel B3
'   sollen Formel geändert werden sind diese einzeln auszuwählen
Dim RaBereich As Range, RaZelle As Range
If Range("C5") = "1" Then Exit Sub
'   Bereich der Wirksamkeit
Set RaBereich = Range("C5,F9:F10, F19:F20")
For Each RaZelle In Range(Target.Address)
'       überprüfen ob Zelle im vorgegebenen Bereich
If Intersect(RaZelle, RaBereich) Is Nothing Then
Application.EnableEvents = False
Range("F9").Select
Application.EnableEvents = True
Exit For
End If
Next RaZelle
End Sub

Anzeige
AW: Benutzer darf bearbeiten - sperren
12.03.2019 09:12:05
bassi
Guten Morgen Manuela :-)
vielen Dank für deine Hilfe.
Die Idee ist gut, aber wahrscheinlich habe ich mich falsch ausgedrückt.
Mit deiner Abänderung wird bei Eingabe in C5 (1.Bereich) auch der 2.Bereich mit frei geschaltet.
Dies darf aber erst geschehen, wenn im 2.Bereich über C15 der Wert eingegeben wird.
Es gehören also immer drei Felder zusammen. C5 = F9, F10 für den Bereich1 und C15 = F19, F20 für den Bereich2 usw.
Es darf keine Freigabe für Bereich1 geben, wenn in C15 eingetragen wird oder aber umgedreht, es darf keine Freigabe für Bereich2 geben, wenn in C5 eingetragen wird.
Sorry das ich missverständlich war.
Viele Grüße
bassi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige