Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
968to972
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
968to972
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellenschutz bei Freigabe

Zellenschutz bei Freigabe
15.04.2008 11:48:25
michi
hallo,
ich möchte in einer freigegebenen (!) arbeitsmappe nach einer bestimmten aktion, auf zellen einen schreibschutz geben. die mappe an sich ist geschützt und freigegeben. einige bereiche sollen aber erst während des bearbeitens geschützt und ggf. wieder frei werden.
also bsp:
wenn f5 bestimmter wert, dann d5:e5 gesperrt, bzw. schreibgeschützt.
wenn wert f5 sich ändert, dann schreibschutz wieder aufheben.
komm ich da vielleicht irgendwie mit 'Worksheet_change' weiter? wüsste bloss nicht wie.
hab schon im archiv gestöbert und leider nix dazu gefunden.
Danke für Eure Hilfe
Michi

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellenschutz bei Freigabe
15.04.2008 11:51:00
stormy_weathers
Hallo Michi,
ich denke du musst den Schreibschutz bei den Zellen aufheben, ändern und dann den Schreibschutz wieder setzen.
Anders, kann ich mir nicht vorstellen, dass es geht...
Gruß
stormy

AW: Zellenschutz bei Freigabe
15.04.2008 11:56:00
michi
Hallo Stormy,
genau das geht bei einer freigegebenen arbeitsmappe nicht.
der schutz einer arbeitsmappe kann erst nach aufhebung der freigabe geschehen.
grüße
michi

AW: Zellenschutz bei Freigabe
15.04.2008 12:16:22
stormy_weathers
Hallo Michi,
das mein ich doch... erst alles aufheben, ändern und wieder setzen...
Gruß
stormy

AW: Zellenschutz bei Freigabe
15.04.2008 12:19:40
michi
hallo stormy,
ich kann aber eine datei, die freigegeben ist nicht einfach auf 'exclusiv' stellen, wenn daran vielleicht gerade 5 leute arbeiten.
klar könnte ich das ganze automatisieren:
freigabe raus - schutz aufheben - zellen auf gesperrt - schutz wieder rein - freigeben.
dann schmeisst es aber die anderen user raus.
---oder lieg ich da falsch?----
grüße
michi

Anzeige
AW: Zellenschutz bei Freigabe
15.04.2008 12:05:10
Matthias
Hallo
Userbild
Code in das Tabellenblatt

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("F5")) Is Nothing Then
If Target.Value = 1 Then
ActiveSheet.Unprotect 'Blattschutz aufheben
Range("D5:E5").Locked = True 'Zellschutz setzen
ActiveSheet.Protect 'Blattschutz setzen
Else
ActiveSheet.Unprotect 'Blattschutz aufheben
Range("D5:E5").Locked = False 'Zellschutz aufheben
ActiveSheet.Protect 'Blattschutz setzen
End If
End If
End Sub


Gruß Matthias

Anzeige
AW: Zellenschutz bei Freigabe
15.04.2008 12:16:32
michi
Hi Matthias,
das ganze funkionier perfekt im 'normalen' modus....nicht aber wenn ich datei freigegeben hab. dann kann der zellenschutz nicht gesetzt/aufehoben werden.
und genau das ist ja mein problem.
grüße
michi

AW: Zellenschutz bei Freigabe
15.04.2008 13:02:11
Uwe
Hi Michi,
mal 'ne etwas "wilde" Idee:
Kopiere Dir einmal das Tabellenblatt um das geht und nenne die Kopie dann z.B. "Backup".
Das stehen dann alle Werte an der gleichen Stelle wie im Original.
Dann schreibe in das Modul des Original-Tabellenblattes:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim strAlterWert As String
If Not Intersect(Target, Range("D5:E5")) Is Nothing Then
If Range("F5").Value = 5 Then
Target.Value = Sheets("Backup").Range(Target.Address).Value
Else
Sheets("Backup").Range(Target.Address).Value = Target.Value
End If
End If
End Sub


Das Backup-Blatt kannst Du ja "verstecken".
Wäre das 'ne Lösung für Dich?
Gruß
Uwe
(:o)

Anzeige
AW: Zellenschutz bei Freigabe
15.04.2008 13:31:00
michi
Hallo Uwe,
Du bist ja ein Freak! genau sowas such ich.
funktioniert auch prima.
jetzt hab ich das nicht für in der 5er zeile, sondern ich müsste das unabhängiger von zeile und spalte bekommen.
also:
-wenn in f spalte wert steht, dann in den vier links daneben keine veränderung
-wenn in k spalte wert, dann vier links...usw, usw.
könntest du mir da noch helfen.
1000 dank
michi

AW: Zellenschutz bei Freigabe
15.04.2008 13:40:11
Uwe
Hi Michi,
ich habe im Moment keine Zeit mehr, schaue aber später bestimmt nochmal rein.
Ich setzt deine Frage auf offen, denn "Freaks" (Danke für das LOB) gibt's hier im Forum jede Menge.
Gruß
Uwe
(:o)

Anzeige
AW: Zellenschutz bei Freigabe
15.04.2008 20:18:00
Uwe
Hi Michi,
ich verstehe nicht 100%ig was Du erreichen willst. Ich habe es jetzt mal so gelöst, dass man, sobald in einer Zelle in der Spalte F oder K STOP eingetragen ist, in den vier Feldern links davon keine Änderungen vornehmen kann. Aber nur in dieser Zeile! Hast Du das so gemeint?:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim strAlterWert As String
If Not Intersect(Target, Range("B:E")) Is Nothing Then
If (Cells(Target.Row, 6).Value = "STOP") Then
Target.Value = Sheets("Backup").Range(Target.Address).Value
Else
Sheets("Backup").Range(Target.Address).Value = Target.Value
End If
End If
If Not Intersect(Target, Range("G:J")) Is Nothing Then
If (Cells(Target.Row, 11).Value = "STOP") Then
Target.Value = Sheets("Backup").Range(Target.Address).Value
Else
Sheets("Backup").Range(Target.Address).Value = Target.Value
End If
End If
End Sub


Ich habe es für diese beiden Spalte nur mal ganz primitiv untereinander gesetzt. Wenn Du es für mehr Bereiche brauchst, kann man mal darüber nachdenken ob man es eleganter lösen kann (Mit Array und Schleife). Aber melde Dich erst mal ob ich überhaupt richtig liege.
Gruß
Uwe
(:o)

Anzeige
AW: Zellenschutz bei Freigabe
16.04.2008 11:19:00
michi
Hallo Uwe,
Du hast mich 100%tig verstanden. Genau so passt es.
Ich möchte Dich jetzt nicht überstrapazieren, aber wär es möglich hier noch eine msgbox als fehlermeldung einzubauen?
so wie ich das sehe, wohl eher schwierig.
herzlichen dank
michi

AW: Zellenschutz bei Freigabe
16.04.2008 11:36:03
michi
Hallo Uwe,
doch Du hast mich 100%tig verstanden. Genau so passt es.
wenn ich dich nicht ünberstapaziere, dann würde ich dich noch um eine antwort bitten:
inwieweit ist es möglich, dass ich hier noch eine msgbox einbaue, die mir eine fehlermeldung bei "Stop" ausgibt.
scheint mir mit 'einfach reinbauen' wohl eher schwierig zu sein, oder?
herzlichen dank
grüße
michi

Anzeige
AW: Zellenschutz bei Freigabe
16.04.2008 12:04:00
Uwe
Hi Michi,
zuerst hatte ich gedacht: "Is' doch 'n Klacks", aber es war doch etwas komplizierter. Aber so sollte es klappen:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim strAlterWert As String
If Not Intersect(Target, Range("B:E")) Is Nothing Then
If (Cells(Target.Row, 6).Value = "STOP") Then
Application.EnableEvents = False
Target.Value = Sheets("Backup").Range(Target.Address).Value
Application.EnableEvents = True
MsgBox "Dieser Wert darf nicht verändert werden !!!", vbCritical, "STOP"
Else
Sheets("Backup").Range(Target.Address).Value = Target.Value
End If
End If
If Not Intersect(Target, Range("G:J")) Is Nothing Then
If (Cells(Target.Row, 11).Value = "STOP") Then
Application.EnableEvents = False
Target.Value = Sheets("Backup").Range(Target.Address).Value
Application.EnableEvents = True
MsgBox "Dieser Wert darf nicht verändert werden !!!", vbCritical, "STOP"
Else
Sheets("Backup").Range(Target.Address).Value = Target.Value
End If
End If
End Sub


Das Application.EnableEvents hätte wahrscheinlich auch ohne die Msgbox schon 'reingehört, ist mir aber erst dadurch aufgefallen.
Gruß
Uwe
(:o)

Anzeige
AW: Zellenschutz bei Freigabe-Erledigt
16.04.2008 14:05:00
michi
1000 dank Uwe.
Du hast mir wirklich sehr geholfen.
Grüße aus München

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige