Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Worksheet_BeforeDoubleClick

Betrifft: Worksheet_BeforeDoubleClick von: Werner
Geschrieben am: 21.01.2008 14:43:58

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

  

Betrifft: AW: Worksheet_BeforeDoubleClick von: Renee
Geschrieben am: 21.01.2008 14:54:28

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


  

Betrifft: AW: Worksheet_BeforeDoubleClick von: Werner
Geschrieben am: 21.01.2008 15:00:00

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


  

Betrifft: AW: Worksheet_BeforeDoubleClick von: Chris
Geschrieben am: 21.01.2008 15:04:48

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


  

Betrifft: AW: Worksheet_BeforeDoubleClick von: Werner
Geschrieben am: 21.01.2008 15:09:23

Hallo Chris,


das geht auch nicht, wie bei Renee

Gruß Werner


  

Betrifft: AW: Worksheet_BeforeDoubleClick von: Chris
Geschrieben am: 21.01.2008 15:14:56

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


  

Betrifft: AW: Worksheet_BeforeDoubleClick von: Werner
Geschrieben am: 21.01.2008 15:18:59

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


  

Betrifft: AW: Worksheet_BeforeDoubleClick von: Chris
Geschrieben am: 21.01.2008 15:22:50

Servus Werner,

das liegt an den verbundenen Zellen, das rafft Excel nicht. Wenn die Zellen nicht verbunden sind, dann geht das auch.

Gruß

Chris


  

Betrifft: AW: Worksheet_BeforeDoubleClick von: Chris
Geschrieben am: 21.01.2008 15:35:39

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


  

Betrifft: AW: Worksheet_BeforeDoubleClick von: Renee
Geschrieben am: 21.01.2008 16:50:33

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


  

Betrifft: AW: Worksheet_BeforeDoubleClick von: Werner
Geschrieben am: 22.01.2008 08:19:09

Hallo Chris und Renee,

danke für Eure Hilfe es funktioniert.

Gruß Werner


  

Betrifft: AW: Worksheet_BeforeDoubleClick von: Werner
Geschrieben am: 21.01.2008 15:13:25

Habe die Datei mal hochgeladen.

https://www.herber.de/bbs/user/49232.xls


Gruß Werner