Ich habe ein Formular, das auf einem Doppelklick-Ereignis einer bestimmten Zelle angezeigt wird.Wenn ich auf eine Zelle doppelklicke, um ein Formular zu öffnen, wird ein Kontrollkästchen im Formular hinter meinem Cursor aktiviert/deaktiviert. Wie kann ich das verhindern?
Das Formular enthält ein Listenfeld mit einer Reihe von Kontrollkästchen darin und in meinem _Activate() - Sub, die Kontrollkästchen werden basierend auf den Werten auf dem aktiven Blatt auf "True" oder "False" gesetzt.
Das Problem ist, dass wenn das Formular hinter dem Cursor geöffnet wird, der zweite Klick des Doppelklicks, der das Formular öffnet, auch ein Kontrollkästchen im Formular aktiviert/deaktiviert.
Ich habe versucht, "DoEvents" im Aktivierungs-Sub anzuhängen, bevor der Code die Checkbox-Werte setzt, aber es hat keinen Unterschied gemacht - Das Kontrollkästchen hinter meinem Cursor, wo das Formular geöffnet wird, wird angehakt.
Ich erwarte nicht, dass der Code viel helfen, aber es ist im Wesentlichen wie folgt:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target = Range("aParticularRangeName") Then
frmSelectStuff.Show
End If
End Sub
Public Sub UserForm_Activate()
Dim iRegions As Integer
Dim sRecheck As Variant
Dim sRecheckList() As String
sRecheckList = Split(ActiveCell.Value, "; ")
For Each sRecheck In sRecheckList
For iRegions = 0 To lbRegionsTemp.ListCount - 1
If sRecheck = lbRegionsTemp.List(iRegions) Then lbRegionsTemp.Selected(iRegions) = True
Next
Next
End Sub
Es wäre sehr hilfreich, wenn Sie uns Ihren Code gezeigt hätten. ;) –
@Tom Fertig. Hoffentlich hilft das. –
Ah, da haben wir es. Das Problem liegt im 'BeforeDoubleClick'-Event. Werfen Sie einen Blick auf diese Frage: http://stackoverflow.com/questions/13098369/avoid-selection-in-a-form-when-double-click –