HERBERS Excel-Forum - das Archiv
Worksheet_BeforeDoubleClick
Werner

Hallo Leute,
ich möcht per Doppelklick in eine bestimmte Zelle eine UserForm öffnen.
Das klapt auch in der einen Zelle, z.B. A1 mit dem ersten Teil des Codes.
Nun möchte ich aber, wenn ich z.B. in M4 doppelklicke eine andere UserForm aufgeht, so wie ich es unten im 2. Teil geschrieben habe geht es nicht.
Wer kann mir dabei helfen?


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim RaMaschine As Range
Set RaMaschine = Range("A1")
If Intersect(Target, RaMaschine) Is Nothing Then Exit Sub
Application.EnableEvents = False
frmMaschine.Show
Application.EnableEvents = True
Set RaMaschine = Nothing
Dim RaGerüstetAuf As Range
Set RaGerüstetAuf = Range("M4")
If Intersect(Target, RaGerüstetAuf) Is Nothing Then Exit Sub
Application.EnableEvents = False
frmGerüstetAuf.Show
Application.EnableEvents = True
Set RaGerüstetAuf = Nothing
End Sub


Gruß Werner

AW: Worksheet_BeforeDoubleClick
Renee

Hi Werner,
Versuch's mal so (ungetestet!):


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Const tRanges = "A1, M4"
If Intersect(Target, Range(tRanges)) Is Nothing Then Exit Sub
Application.EnableEvents = False
Select Case Target.Address(0, 0)
Case "A1"
frmMaschine.Show
Case "M4"
frmGerüstetAuf.Show
End Select
Application.EnableEvents = True
End Sub


GreetZ Renée

AW: Worksheet_BeforeDoubleClick
Werner

Hallo Renée
das geht so nicht, ich binn dann nur in der Zelle mit der Schreibmarke.
Die UserFormen gehen aber nicht auf.
Gruß Werner

AW: Worksheet_BeforeDoubleClick
Chris

Servus,
dann probier's mal so:


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
frmMaschine.Show
Application.EnableEvents = True
End If
If Target.Address = "$M$4" Then
Application.EnableEvents = False
frmGerüstAuf.Show
Application.EnableEvents = True
End If
End Sub


Gruß
Chris

AW: Worksheet_BeforeDoubleClick
Werner

Hallo Chris,
das geht auch nicht, wie bei Renee
Gruß Werner

AW: Worksheet_BeforeDoubleClick
Chris

Servus Werner,
bei mir funktioniert das. Bei jeweiligem Doppelklick in die Zelle, geht auch die jeweilige Userform auf. Natürlich immer eine nach der anderen.
Was willst du denn genau erreichen ? Sollen die UF aufgerufen werden, wenn du in die Zelle wechselst?
Gruß
Chris

AW: Worksheet_BeforeDoubleClick
Werner

Hallo Chris,
es wird keine der beiden angezeigt. Ja wenn ich die Zelle wechsele soll die andere angezeigt werden.
Meine Datei habe ich mal hochgeladen.
Gruß Werner

AW: Worksheet_BeforeDoubleClick
Chris

Servus Werner,
das liegt an den verbundenen Zellen, das rafft Excel nicht. Wenn die Zellen nicht verbunden sind, dann geht das auch.
Gruß
Chris

AW: Worksheet_BeforeDoubleClick
Chris

Servus Werner,
wenn es bei Aktivierung der Zelle sein soll, dann mach es mit SelectionChange....
Am Code ändert sich nicht, aber wie gesagt keine verbundenen Zellen und natürlich muss die erste UF erst geschlossen werden.
Gruß
Chris

AW: Worksheet_BeforeDoubleClick
Renee

Hi Werner,
diese verbundenen Zellen wirst du noch zum Teufel wünschen....
siehe auch hier: https://www.herber.de/forum/atoms/content/000020.html
Wenn du's aber unbedingt (d.h. nicht einsehen willst), geht's vielleicht so:


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.EnableEvents = False
Select Case Target.Address(0, 0)
Case "A1:J3"
frmMaschine.Show
Case "M4:AO5"
frmGerüstetAuf.Show
End Select
Application.EnableEvents = True
End Sub


GreetZ Renée

AW: Worksheet_BeforeDoubleClick
Werner

Hallo Chris und Renee,
danke für Eure Hilfe es funktioniert.
Gruß Werner

AW: Worksheet_BeforeDoubleClick
Werner

Habe die Datei mal hochgeladen.
https://www.herber.de/bbs/user/49232.xls
Gruß Werner