VBA ActiveSheet.Protect
#1
Hallo,
wiedermal ich ...:):)
Aber ich weiß dass ich hier immer top Hilfe bekomme:)

ActiveSheet.Protect

Ich habe eine Tabelle mit mehreren gesperrten Zellen, einige davon sind frei.
Nun möchte ich für eine gesperrte Zelle eine Userform nutzen.
Das klappt aber nicht =( (nur bei freien Zellen)

Die Userform öffnet sich bei Doppelklick auf die Zelle.


Gibt es eine Möglichkeit Doppelklicks zu erlauben bei gesperrten Zellen?
Dann würde ich einfach bei falscher Zellenauswahl den Doppelklick abbrechen.


Liebe Grüße
Top
#2
Hallo,

vielleicht so?

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   ActiveSheet.Unprotect
   UserForm1.Show
   Cancel = True
   ActiveSheet.Protect
End Sub
Gruß Stefan
Win 10 / Office 2016
Top
#3
Hallo,
danke für die rasche Rückmeldung
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
ActiveSheet.Unprotect Password:="XXX"

Select Case Target.Column
Case 2                              
   UserForm.Show
Case Else
   Range("E3").Select
End Select

ActiveSheet.Unprotect Password:="XXX"
End Sub

hatte es so, aber das funktioniert nicht
für was verwenden Sie cancel= true?

Grüße
Top
#4
Hallo,

das die 'normale' Reaktion (Excel geht in den Bearbeitungsmodus) vom Doppelclick nicht ausgeführt wird.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
ActiveSheet.Unprotect Password:="XXX"

Select Case Target.Column
Case 2                              
   UserForm.Show
Case Else
   Range("E3").Select
End Select
Cancel = True
ActiveSheet.Unprotect Password:="XXX"
End Sub
Gruß Stefan
Win 10 / Office 2016
Top
#5
(02.03.2018, 18:01)Steffl schrieb: Hallo,

das die 'normale' Reaktion (Excel geht in den Bearbeitungsmodus) vom Doppelclick nicht ausgeführt wird.
Hi,
leider klappt das immer noch nicht.
Sprich in den Zellen die ich nicht geschützt hab klappt es wunderbar, nur bei den gesperrten öffnet sich nichts beim Doppelklick.
jemand eine andere Idee was falsch sein könnte?
Muss ich bei jeder User form auch was hineinschreiben?

liebe Grüße aus Südtirol =)
Top
#6
Hallo,

könntest Du deine Datei hier hochladen?
Gruß Stefan
Win 10 / Office 2016
Top
#7
(05.03.2018, 10:04)Steffl schrieb: Hallo,

könntest Du deine Datei hier hochladen?

Hallo, siehe Anhang die Excel vereinfacht dargestellt.
:20:  vermutlich habe ich einen blöden Fehler drin =( bin noch nicht sooo lange VBA-User
Die Grünen Zellen kann man immer ändern auch ohne User form.
Die roten darf man nur mit der jeweiligen User form ändern.


hoffe du kannst mir helfen  Angel


Liebe Grüße.


Angehängte Dateien
.xlsm   UserformInGesperrterZelle.xlsm (Größe: 27,99 KB / Downloads: 1)
Top
#8
Hallo,

ändere mal die EnableSelection-Eigenschaft so

Code:
ActiveSheet.EnableSelection = xlNoRestrictions

ab. Ich würde übrigens auf das Select verzichten.
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Topology
Top
#9
(05.03.2018, 11:13)Steffl schrieb: Hallo,

ändere mal die EnableSelection-Eigenschaft so

Code:
           ActiveSheet.EnableSelection = xlNoRestrictions

ab. Ich würde übrigens auf das Select verzichten.

Heart  dankeeee es funktioniert =)

vielen vielen Dank,
ich liebe das Forum =)


interessehalber, wieso würdest du darauf verzichten?
Top
#10
Hallo,

(05.03.2018, 11:21)Topology schrieb: interessehalber, wieso würdest du darauf verzichten?

weil es das unnötig ist, nur deinen Code verlangsamt, der Bildschirm flackert usw.
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Topology
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste