• 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.

userform1.hide geeft geen trigger ?

Status
Niet open voor verdere reacties.

sylvester-ponte

Verenigingslid
Lid geworden
19 apr 2007
Berichten
6.620
hallo, als ik van uit vba een userform hide ontstaat er geen trigger. (misschien zoek ik fout)

als ik de userform met de X (rechts boven) afsluit ontstaat er een trigger via userform1_terminate.

kan vba een userform sluiten zodat er een trigger ontstaat?

of hoe heet die X (rechts boven ) in vba (userform1.terminate wordt niet ondersteund)

ik wil graag de userform afsluiten via vba en dat er een trigger ontstaat.

zie voorbeeld.
 

Bijlagen

Laatst bewerkt:
Wart is er mis met het afsluitkruisje in de rechterbovenhoek ?
 
hallo snb, met dat kruisje is niets mis.

ik wil graag via vba dat afsluitkruisje na doen. dan krijg ik tenminste een trigger als ik ergens met vba de userform sluit.

ik wil als een userform afgesloten wordt, de status van de userform opslaan( hoogte breedte zoom locatie e.d.)
 
Laatst bewerkt:
Waarom stel je die dan niet in in de Initialize-gebeurtenis ?
Of liever nog in de ontwerpmodus ?
 
Laatst bewerkt:
als iemand de userform bvb verplaatst tijdens het gebruik wil ik dat opslaan asl hij afgesloten wordt.
zodat als hij hem weer opent de userform op de laatste gebruikte plek verschijnt .
 
Daarvoor kun je dan de queryclose-gebeurtenis, gecombineerd met de Initialize-gebeurtenis gebruiken.
 
hoe met ik dan de userfrom via vba sluiten?

ps aan de terminate trigger heb je niet veel, want die trigger komt pas na dat je userform geterminated is en dan zij de gegevens van de userform ook weg.
 
Laatst bewerkt:
Laat de gebruiker gewoon het kruisje gebruiken.
Het VBA equivalent is : unload Me
Jouw VBA-code komt in queryclose.van het userform.
 
Laatst bewerkt:
De Userform1.Hide heeft inderdaad geen event.
In jouw geval hoeft dat ook niet want wanneer je daarna Userform1.Show doet staat hij weer op dezelfde plek als waar hij verdween en alle objecten zijn dan nog gevuld.

De QueryClose heeft 2 CloseModes die je kan gebruiken.
Kijk daar maar eens naar.
Als je op het kruisje klikt is dat 0 en wanneer je een Unload doet is dat 1.

Dus dit in je module:
Code:
Sub sluiten()
  Unload UserForm1
End Sub

En zoiets in de Userform:
Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = 1 Then
        Me.Hide
        Cancel = True
    End If
End Sub
 
bedankt allen, :thumb:
met unload ben ik er, dat werkt het zelfde als wanneer de gebruiker per ongeluk het kruisje gebruikt.
 
snb, UserForm_Deactivate wordt in mijn voorbeeld nooit geactiveerd.
ook niet via het kruisje
 
Deze wqwel als je iets aan de positie van het userform zelf doet:

Code:
Private Sub UserForm_Layout()
    Tag = Join(Array(Top, Left, Height, Width), ";")
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan