Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Rang
20.02.2025 15:59:26
Dieter
Ich habe mir eine UF Combobox für nur in gewissen Spalten und Zellen gebastelt.
Dieser Code unten funktioniert auch.
Erst einmal 2 Fragen dazu, Ist der Code gut so oder gibt es was besseres ?
Private Sub UserForm_Initialize() 'geht
'Dim rng As Range ' geht auch
' Set rng = Range("Kalender!AB4:AB8")
'ComboBox1.List = rng.Value
'---------------------------------------------------
Dim lngUntersterEintrag As Long ' der ist aktiv
lngUntersterEintrag = Range("AB65536").End(xlUp).Row
Me.ComboBox1.List = Range("AB4:AB" & lngUntersterEintrag).Value
End Sub
'-------------------------------------------------------
Private Sub ComboBox1_Change() 'geht
Dim rngZelle As Range
For Each rngZelle In Selection
rngZelle.Value = Me.ComboBox1.Value
Next rngZelle
Unload Me
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Userform Combobox anzeigen
'If Target.Column = 3 And Target.Row > 1 Then
If Target.Row > 2 And Target.Row = 33 Or Target.Row > 36 And Target.Row = 67 Then
Select Case Target.Column
Case 3, 7, 11, 15, 19, 23 'spalten ansprechen
If Target(1).Offset(0, -2).Value Then
With UserForm1
.StartUpPosition = 0
.Left = Target(1).Left
.Top = Target(1).Top - ActiveWindow.VisibleRange.Top
Call .ComboBox1.DropDown
Call .Show(vbModeless)
End With
UserForm1.Hide
End If
End Select
End If
End Sub
Jetzt würde ich aber gerne das ganze in eine DoubleClick machen,
da jedes mal wenn ich in die Zelle gehe er mir die Combobox aufmacht.
und da ist mein Problem.
Wenn ich jetzt Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ändere in Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
und den Code darunter setzte geht es leider nicht mehr.
Wo ist mein Fehler, oder wie muss der Code geändert werden ?
Ich danke schon mal allen für die Hilfe im Voraus.
Mfg
Dieter
Anzeige