• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Sub sluiten met kruisje userform

Status
Niet open voor verdere reacties.

Symphysodon

Gebruiker
Lid geworden
14 dec 2012
Berichten
468
Beste forummers,

Ik krijg het niet voor elkaar om een macro te sluiten met het kruisje van een userform.

In een macro worden een aantal routines uitgevoerd die gedeeltelijk in een userform zijn ondergebracht. In de userform gebruik ik QueryClose om met het kruisje de userform af te sluiten, daarna gaat de macro verder. Dat wil ik niet omdat de gehele macro enkele minuten duurt. Hoe krijg ik dit voorelkaar

Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    n = Sheets("Admin").ListObjects("TBL_Administratie").DataBodyRange.Rows.Count
    If n > 27 Then
        MsgBox "Het aantal grafieken is maximaal 27!"
        Sheets("Admin").ListObjects("TBL_Administratie").ListColumns(3).DataBodyRange.Resize(, 2).ClearContents 'Verwijderen |||
        Cancel = vbNo
        
    End If
    
Exit Sub
End Sub

Code:
Sub Nieuwe_kaart()

code...

usOpmaak.Show

code.....
End Sub

Alvast bedankt.

Mvg
Marco
 
Laatst bewerkt:
Dat heb ik toch gedaan?

De userform wordt ook wel gesloten maar de sub niet en daar gaat het
 
Dan had ik je verkeerd begrepen.
Doe het eens zo:
Code:
[COLOR="#FF0000"]Dim SluitSub As Boolean[/COLOR]

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    n = Sheets("Admin").ListObjects("TBL_Administratie").DataBodyRange.Rows.Count
    If n > 27 Then
        MsgBox "Het aantal grafieken is maximaal 27!"
        Sheets("Admin").ListObjects("TBL_Administratie").ListColumns(3).DataBodyRange.Resize(, 2).ClearContents 'Verwijderen |||
        Cancel = vbNo
        [COLOR="#FF0000"]SluitSub = True[/COLOR]
    End If
End Sub

Sub Nieuwe_kaart()
    [COLOR="#008000"]'code...[/COLOR]
    
    usOpmaak.Show
    [COLOR="#FF0000"]If SluitSub Then Exit Sub[/COLOR]
    
    [COLOR="#008000"]'code.....[/COLOR]
End Sub
 
Hoe dan? De QueryClose staat in de userform en de sub staat apart in een module. Ik kan de sluitsub niet als global declareren en call mag ik niet gebruiken van snb
 
Zet dit dan in de module:
Public SluitSub As Boolean
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan