Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Userform - inhoud vertraagd weergeven  (gelezen 139447 keer)

0 leden en 1 gast bekijken dit topic.

Offline Periwinkle

  • Nieuw lid
  • Berichten: 1
  • Geslacht: Man
  • Hey, ik ben nieuw hier !
Userform - inhoud vertraagd weergeven
« Gepost op: 30 juli 2025, 06:42:57 »
Ik heb een userform met een titel, en 3 variabelen. Nu worden nu tegelijk weergegeven.

Is het mogelijk om die vertraagd weer te geven? Dus eerst de titel, na 2 seconden de eerste variabele, nog 2 seconden later de tweede variabele en na in totaal 6 seconden dan de laatste variabele?

Heb al geprobeerd om te werken met Application.OnTime en Sleep, maar na de me.show wordt de popup leeg weergegeven en blijft de macro hangen en gebeurt er niets meer.

Online SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.581
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Userform - inhoud vertraagd weergeven
« Reactie #1 Gepost op: 30 juli 2025, 09:31:19 »
Hallo Periwinkle,

Welkop op Oplossing.be  :)

De reden dat je Application.OnTime en Sleep niet goed werken na Me.Show, is omdat Me.Show de UserForm als modaal opent, dat blokkeert de rest van de macro totdat het formulier gesloten wordt.

Probeer volgende code eens:

Private Sub UserForm_Activate()
    ' Toon de titel
    Me.lblTitel.Visible = True  ' Naam aanpassen aan je eigen lblTitel

    ' Start de timer
    Call DelayAndShow(2, Me.lblVar1)   ' Naam aanpassen aan je eigen Variabele1
    Call DelayAndShow(2, Me.lblVar2)    ' 'Naam aanpassen aan je eigen Variabele2
    Call DelayAndShow(2, Me.lblVar3)    ' ' 'Naam aanpassen aan je eigen Variabele3
End Sub

Private Sub DelayAndShow(ByVal seconds As Double, ByRef ctrl As Control)
    Dim endTime As Double
    endTime = Timer + seconds

    Do While Timer < endTime
        DoEvents ' Laat de interface updaten
    Loop

    ctrl.Visible = True
End Sub

Deze zou normaal ook bij jou moeten werken (staat op 2 seconden)
Mocht je problemen ondervinden omschrijf ze dan zo goed mogelijk.

Succes.

:) SoftAid :)             

Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !
Windows 11 Home 24H2   Office 2024 Pro Plus Nederlands

Offline Roodborstje

  • Volledig lid
  • **
  • Berichten: 103
  • Geslacht: Man
  • Office 365 - Windows 11
Re: Userform - inhoud vertraagd weergeven
« Reactie #2 Gepost op: 30 juli 2025, 12:04:12 »
Nu ben ik in de war.
Private Sub UserForm_Activate()Een userform kent geen activate.
Als je een userform niet modaal wilt opstarten:
UserForm1.Show vbModelessKan je ook bij de eigenschappen aanpassen.
Daar zet je ShowModal op False.
Twijfelt u wel eens? Nou.. Soms, hoewel… Tja daar vraag je wat…

Groet, Roodborstje.

Online SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.581
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Userform - inhoud vertraagd weergeven
« Reactie #3 Gepost op: 30 juli 2025, 13:13:54 »
Hallo Roodborstje,

Daar heb je een punt, maar je kan wel een routine in een gewone module plaatsen, en van in de Userform_Initialize() een Userform_Activate() aanroepen.

Maar je opmerking om in Eigenschappen van de Userform ShowModal = False te zetten (dus vbModeless) is een goede oplossing. Als je dat doet, kun je na Me.Show wel degelijk verder gaan met code uitvoeren, zoals bijvoorbeeld:

Sub StartForm()
    Load UserForm1
    UserForm1.Show vbModeless  ' Je kan ook hier de eigenschap instellen

    ' Start hierna de timer-loops:
    Application.OnTime Now + TimeValue("00:00:02"), "ToonEersteLabel"
    Application.OnTime Now + TimeValue("00:00:04"), "ToonTweedeLabel"
    Application.OnTime Now + TimeValue("00:00:06"), "ToonDerdeLabel"
End Sub

Die verwijzen naar aparte Sub's:

Sub ToonEersteLabel()
    UserForm1.lblVar1.Visible = True
End Sub
______________________________________________________________________
Sub ToonTweedeLabel()
    UserForm1.lblVar2.Visible = True
End Sub
______________________________________________________________________
Sub ToonDerdeLabel()
    UserForm1.lblVar3.Visible = True
End Sub

Theoretisch zou dit moeten werken voor TS. Wat denk je?

Groeten,

:) SoftAid :)             
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !
Windows 11 Home 24H2   Office 2024 Pro Plus Nederlands

Offline Roodborstje

  • Volledig lid
  • **
  • Berichten: 103
  • Geslacht: Man
  • Office 365 - Windows 11
Re: Userform - inhoud vertraagd weergeven
« Reactie #4 Gepost op: 30 juli 2025, 13:21:20 »
Citaat
Theoretisch zou dit moeten werken voor TS. Wat denk je?
Waarschijnlijk wel, maar zonder voorbeeld bestandje blijf ik voorzichtig.
Load UserForm1 Daar vrees ik voor.
Twijfelt u wel eens? Nou.. Soms, hoewel… Tja daar vraag je wat…

Groet, Roodborstje.

Online SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.581
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Userform - inhoud vertraagd weergeven
« Reactie #5 Gepost op: 30 juli 2025, 13:28:44 »
Het zou misschien goed zijn om bij het starten zeker te zijn dat de Labels niet zichtbaar staan, anders kan je problemen krijgen.

Met de toevoeging lukt dat:
Sub StartForm()
    Load UserForm1
    UserForm1.Show vbModeless

   
    UserForm1.lblTitle.Visible = True           ' Laat eerst alleen de titel zien
    UserForm1.lblVar1.Visible = False          ' Verberg de eerste label
    UserForm1.lblVar2.Visible = False          ' enz...
    UserForm1.lblVar3.Visible = False          ' enz ...
    ' start vertragingen
    ' Rest van de code
   
End Sub

Waarschijnlijk wel, maar zonder voorbeeld bestandje blijf ik voorzichtig.

Daar heb je gelijk in. Ik ook, daarom schrijf ik ook enkel "in theorie".
Aan TS om een voorbeeldbestandje te leveren. ;D ;D ;D

Groet,

:) SoftAid :)             

Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !
Windows 11 Home 24H2   Office 2024 Pro Plus Nederlands

Online SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.581
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Userform - inhoud vertraagd weergeven
« Reactie #6 Gepost op: 30 juli 2025, 13:53:00 »
Hallo Roodborstje,

ik heb toch maar snel een Userform gemaakt, en de code werkt er goed mee: zie bijlage....  :)

:) SoftAid :)             
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !
Windows 11 Home 24H2   Office 2024 Pro Plus Nederlands

Offline Roodborstje

  • Volledig lid
  • **
  • Berichten: 103
  • Geslacht: Man
  • Office 365 - Windows 11
Re: Userform - inhoud vertraagd weergeven
« Reactie #7 Gepost op: 30 juli 2025, 14:06:59 »
Mooi man. :thumbsup:
Maar zoals ik al aangaf
Load UserForm1is overbodig.
Twijfelt u wel eens? Nou.. Soms, hoewel… Tja daar vraag je wat…

Groet, Roodborstje.

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.328
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Userform - inhoud vertraagd weergeven
« Reactie #8 Gepost op: 30 juli 2025, 14:07:57 »
Let er wel bij op dat als een formulier op ModeLess staat dat de gebruiker gewoon kan doorwerken in z'n Excel bestand (of ander bestand). Dit kan een nadelig gevolg zijn van het gebruik van deze optie.
Verder ben ik overigens altijd wel erg terughoudend met dit soort "fancy" dingen op bijvoorbeeld een UserForm. Excel is een rekenprogramma en dat kan je dan verfraaien en vereenvoudigen met wat VBA code om het de gebruiker makkelijker te maken. Knipperende teksten of knoppen gaan al snel vervelen. Het is maar een mening, maar meld het toch ff...  ;)
______________________________

Groet, Leo

Offline Roodborstje

  • Volledig lid
  • **
  • Berichten: 103
  • Geslacht: Man
  • Office 365 - Windows 11
Re: Userform - inhoud vertraagd weergeven
« Reactie #9 Gepost op: 30 juli 2025, 14:15:59 »
Citaat
Knipperende teksten
Daar ben ik ook wat huiverig voor, ooit eens gelezen dat het zelfs bij bepaalde mensen een epilepsie aanval kan veroorzaken.
In het voorbeeld van Softaid is er echter niets aan het knipperen, is volgens mij een antwoord op de vraag wat Ts wilt.
Twijfelt u wel eens? Nou.. Soms, hoewel… Tja daar vraag je wat…

Groet, Roodborstje.

Offline Roodborstje

  • Volledig lid
  • **
  • Berichten: 103
  • Geslacht: Man
  • Office 365 - Windows 11
Re: Userform - inhoud vertraagd weergeven
« Reactie #10 Gepost op: 30 juli 2025, 14:20:00 »
En voor de mensen die niet zo graag typen als Softaid
Sub StartForm()
   
   UserForm1.Show vbModeless
   
With UserForm1
   .lblTitel.Visible = True
    .lblVar1.Visible = False
    .lblVar2.Visible = False
    .lblVar3.Visible = False
End With

With Application
   .OnTime Now + TimeValue("00:00:02"), "ToonVar1"
    .OnTime Now + TimeValue("00:00:04"), "ToonVar2"
    .OnTime Now + TimeValue("00:00:06"), "ToonVar3"
End With

End Sub
:D ;D 0:-)
Twijfelt u wel eens? Nou.. Soms, hoewel… Tja daar vraag je wat…

Groet, Roodborstje.

Online SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.581
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Userform - inhoud vertraagd weergeven
« Reactie #11 Gepost op: 30 juli 2025, 14:24:02 »
Leo,

Let er wel bij op dat als een formulier op ModeLess staat dat de gebruiker gewoon kan doorwerken in z'n Excel bestand (of ander bestand). Dit kan een nadelig gevolg zijn van het gebruik van deze optie.
dat kan ook voordelig zijn, indien TS daar mee gediend is  ;D ;D ;D
Verder ben ik overigens altijd wel erg terughoudend met dit soort "fancy" dingen op bijvoorbeeld een UserForm. Excel is een rekenprogramma en dat kan je dan verfraaien en vereenvoudigen met wat VBA code om het de gebruiker makkelijker te maken. Knipperende teksten of knoppen gaan al snel vervelen. Het is maar een mening, maar meld het toch ff...  ;)
Dat is een oud kwaad. Sommige mensen gebruiken Excel als rekenprogramma, en andere als tekenset.
Dat laat ik altijd aan hen over. Ik probeer me steeds bij de originele vraag te houden, hoe ongewoon ze ook is.
Maar ik begrijp je reactie best.  :thumbsup:

Dat is zoals sommige helpers afbrekend reageren over het gebruik van Select... Selection.... (en soms is het TOCH nodig)
Ik denk dan, dat eet toch geen brood.
Je kan dat meegeven aan een Excel starter, maar voor de werking van zijn project maakt dit niets uit.

Toch veel dank voor het helpen, zowieso altijd welkom.

Groeten,

:) SoftAid :)             
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !
Windows 11 Home 24H2   Office 2024 Pro Plus Nederlands

Online SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.581
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Userform - inhoud vertraagd weergeven
« Reactie #12 Gepost op: 30 juli 2025, 14:47:47 »
En voor de mensen die niet zo graag typen als Softaid

Kijk, dat is heel mooi, maar ik kom net tegen RedHead te zeggen dat dit allemaal niet zo belangrijk is.

Ik heb die teksten niet moeten typen. Eén lijn ja, en dan copy en 3 x paste. Enkele label-namen aanpassen. That's it.

Is het beter leesbaar? Voor jou en voor mij, jawel. Maar je kan er ook van uitgaan dat TS niet weet wat er gebeurt met With - End With.
En dan krijg je daarover weer vragen, of hij neemt je code gewoon over ZONDER te weten WAT hij overneemt. En leert hij niet bij, maar af  0:-)

Als je iemands code in loops kan zetten, doe het gerust, maar leg hem dan uit waarom en hoe, denk ik bij mezelf.
Anders, laat die extra regels gewoon staan.

Er zijn fora waar er meer door helpers gereageerd wordt op de oplossing van andere helpers, gewoon haantje pik op elke letter of formule.
Als je daar een Select DURFT te gebruiken dan wordt je afgeschoten alsof je een moord hebt begaan. Crazy....  :-[
Gebruik 2 maal achter elkaar Worksheet. ... en ze verbeteren jou met With en 2 regels en End With. Waar zijn we dan toch mee bezig.
2 lijntjes vervangen door 4, om het toch maar korter te maken. Als dat de norm wordt voor helpers, dan haak ik af.

Zo, nu zie je dat ik graag typ  ;D ;D ;D

Groeten,

:) SoftAid :)             
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !
Windows 11 Home 24H2   Office 2024 Pro Plus Nederlands

Offline Roodborstje

  • Volledig lid
  • **
  • Berichten: 103
  • Geslacht: Man
  • Office 365 - Windows 11
Re: Userform - inhoud vertraagd weergeven
« Reactie #13 Gepost op: 30 juli 2025, 14:51:22 »
Citaat
2 lijntjes vervangen door 4, om het toch maar korter te maken
Euh?
 :D ;D 0:-)
Twijfelt u wel eens? Nou.. Soms, hoewel… Tja daar vraag je wat…

Groet, Roodborstje.

Online SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.581
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Userform - inhoud vertraagd weergeven
« Reactie #14 Gepost op: 30 juli 2025, 15:09:29 »
Euh???

Selection.Font.Name = "Arial"
Selection.Font.Size = 30

wordt dan:

With Selection.Font
        .Name = "Arial"
        .Size = 30
End With
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !
Windows 11 Home 24H2   Office 2024 Pro Plus Nederlands

 


www.combell.com