Userform automatisch sluiten?

Status
Niet open voor verdere reacties.
Om de code te vinden van het form.
Dubbelklik op het form in de editor.
 
Code:
Private Sub UserForm_Activate()
Application.Wait DateAdd("s", 5, Now)
Me.Hide
End Sub

Grtz,
MDN111.
 
Ik denk dat dit een vergissing is van Karel om deze vraag nog een keer te stellen.
 
Oei !

Inderdaad, een topic waaraan al veel energie is besteed. Had ik niet gezien. :o

Grtz,
MDN111.
 
En maak er nu eens dit van. Dan staat ook de betekenis boven het plaatje :D
Code:
Private Sub UserForm_Activate()
  Me.Caption = "Goed gedaan!"
  Application.Wait DateAdd("s", 5, Now)
  Me.Hide
End Sub
 
Ja dat ging goed das waar.:d
Maar vanuit die functie eh....wil het niet lukken.
 
Wat lukt niet vanuit welke functie?
 
In #10 staat het eh.... het bevel vertrekt vanuit een functie in het werkblad roept van daaruit dit op Function GoedGedaan() en zou dan die userform die er verschijnt na 5 seconden moeten wegdoen en dat lukt nog niet eh...
 
Het kwartje wil maar niet vallen lijkt het.
 
En dat stukje in #22 heb je in Userform16 gezet?
Hoe wordt die functie geactiveerd?
 
Heb al diep nagedacht,maar........nog niet diep genoeg hoor ik wel.
 
En nu nog een antwoord op mijn vragen in #27 ;)
 
1) Ja.
2)=ALS(EN(W12=Z12;W12>0,51);GoedGedaan();" ") als die som goed is vertrekt het daar.
 
Die opdracht Application.Wait is kennelijk niet geldig vanuit een functie. Gebruik dan de System functie Sleep:
Code:
#If VBA7 Then
    Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 'Voor Office 64bit
#Else
    Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

Sub Ballon()
    UserForm16.Show vbModeless
    UserForm16.Caption = "Goed gedaan!"
    Sleep 5000
    UserForm16.Hide
End Sub

De code in de Userform kan je dan verwijderen.
 
Laatst bewerkt:
Waar moet ik dat zetten ,want die regel hieronder komt overal in het rood te staan.
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
 
Vervang het hele spul eens door dit:
Code:
Public Declare Function sndPlaySound32 Lib "winmm.dll" _
    Alias "sndPlaySoundA" ( _
    ByVal lpszSoundName As String, _
    ByVal uFlags As Long) As Long

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Function GoedGedaan() As String
    Dim Soundfile As String
    
    GoedGedaan = "Heel goed gedaan"
    Randomize
    Select Case Int(6 * Rnd) + 1
        Case 1:  Soundfile = "c:\aZinaExel\goedzozina"  'Brit
        Case 2:  Soundfile = "c:\aZinaExel\goedzozina2" 'K3
        Case 3:  Soundfile = "c:\aZinaExel\germaine"    'germaine
        Case 4:  Soundfile = "c:\aZinaExel\a (2)"
        Case 5:  Soundfile = "c:\aZinaExel\a (3)"
        Case 6:  Soundfile = "c:\aZinaExel\karel"       'karel
    End Select
    
    If Soundfile <> "" Then
        sndPlaySound32 Soundfile, &H1
        With UserForm16
            .Show vbModeless
            .Caption = "Heel goed gedaan!"
            Sleep 5000
            .Hide
        End With
    End If
    
    ActiveCell.Offset(0, -1).Select
End Function

De code in het userform is dan niet nodig.
 
Laatst bewerkt:
Ed het gaat niet,maar ik ben wel zeker als ik het aan julie kon doorsturen dat het zo opgelost was,maar ons Zina zal op dat kruisje moeten klikken.
En ik ga U en Harry bijzonder,maar ook al degeen die erop reageerden heel hard bedanken voor de moeite die erop gemaakt is,maar ik zal er het best mee kunnen stoppen denk mee er vanalles bij aan te breien,want ik denk dat ik mijne excel gelijk van de richt breng . :d:(
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan