2016-06-22 4 views
0

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 
+1

Es wäre sehr hilfreich, wenn Sie uns Ihren Code gezeigt hätten. ;) –

+0

@Tom Fertig. Hoffentlich hilft das. –

+1

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 –

Antwort

0

Was Cancel = mit Wahr?

If Target = Range("aParticularRangeName") Then 
    Cancel = True 
    frmSelectStuff.Show 
End If 
Verwandte Themen