Userform Knop Annuleren

Hallo
Klein probleem op een van mijn macro's.
Ik heb een gebruikersformulier dat verschijnt en je vraagt om een gezichts- of randselectie te maken.
De macro code hand:

                UserFormSelectFace.Show vbModeless
                CoincidentsCtresWindows "SOLIDWORKS", UserFormSelectFace.Caption, True

Zolang de selectie niet gemaakt is, gaat de macro gewoon door. Aan die kant geen zorgen
Het probleem komt van de annuleerknop, want als je erop drukt verlaat je het gebruikersformulier maar de continue macro en bugs (omdat er geen selectie wordt gemaakt)

Ik heb geprobeerd dit in de gebruikersvorm te zetten:

Private Sub BoutonCancel_Click()
Msgbox "TEST"
End
End Sub

Maar als je op het kruisje voor annuleren drukt, hetzelfde resultaat als voorheen (geen msgbox " TEST " en de macro gaat door en bugs.)
Enig idee over de reden voor deze mislukking? Ik begrijp niet hoe ik een evenement kan activeren met deze annuleerknop.

Hallo

Het verbaast me normaal gesproken dat als er geen verbergfunctie van het gebruikersformulier is, het indrukken van de annuleerknop door de msgbox zou moeten gaan en het formulier zou moeten verlaten.
Aan de andere kant, als u zegt dat de macro doorgaat, wat doet deze dan precies met het weergegeven formulier? Misschien komt het daar vandaan

@Cyril_f heb ik ook een

Unload UserFormSelectFace 

Een klein beetje hieronder in mijn code, zodra de selectie is gecontroleerd. Die was ik vergeten!

Aan de andere kant, als je dit toevoegt in de gebruikersvorm, lijkt het zijn werk te doen:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

   If CloseMode = vbFormControlMenu Then
    MsgBox "Macro interrompue"
    End
   End If

'   If CloseMode = vbFormControlMenu Then Cancel = 1

End Sub

De QueryClose is de druk op het kruis (je kunt zelfs de sluiting blokkeren om je te dwingen door de knoppen Ok en Annuleren te gaan).

Ja, dat is wat ik zag met de code die ik terugkreeg.
Ik reageerde op de regel:

 If CloseMode = vbFormControlMenu Then Cancel = 1

Wat de annuleerknop effectief remde.
En toen veranderde ik het om mijn waarschuwingsbericht en het einde te plaatsen.

Van wat ik begrijp, werkt de BoutonCancel_Click () niet in Excel (in tegenstelling tot Excel)

Het moet in SW zijn, in tegenstelling tot Excel :smiley:
Voor SW heb je een formulierknop nodig die een verwerking annuleert en toevoegt.

Ja, dat klopt, in SW in tegenstelling tot Excel!
Het probleem is dat sommige mensen op dit kruis drukten om de macro te verlaten en dat de code niet onderbrak, en in de debug-modus ging na een of meer fouten, dus hij belde me aan de telefoon om erachter te komen waarom!
Nu zou dit mijn probleem moeten oplossen!

1 like