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

Problemen met timer

Status
Niet open voor verdere reacties.

Atwist

Terugkerende gebruiker
Lid geworden
24 jan 2006
Berichten
1.055
Besturingssysteem
Wndows 10
Office versie
2016
Hallo forumleden,

Met behulp van Hoornvan heb ik een label kunnen maken met knipperende tekst, dit werkt perfect.
Maar als de timer loopt dan stopt de berekeningen van de andere labels en textboxen na de timer tijd kan ik weer een berekening doen maar de labels en textboxen die aan de betreffende textbox hangt worden niet meer berekend omdat deze niet de "change textbox".

Code:
Sub Delay(rTime As Single)
'delay rTime seconds (min=.01, max=300)
  Dim oldTime As Variant
'safety net
  If rTime < 0.1 Or rTime > 300 Then rTime = 1
   oldTime = Timer
   Do
    DoEvents
   Loop Until Timer - oldTime > rTime
End Sub

Private Sub TextBox180_Change()
        Range("Data!B102").Value = TextBox180.Value
        TextBox184.Value = Range("Data!C102").Value
        TextBox185.Value = Range("Data!C103").Value
        TextBox186.Value = Range("Data!C104").Value
        TextBox187.Value = Range("Data!C105").Value
        Label207.Caption = Range("Data!J118").Value
        TextBox189.Value = Range("Data!C107").Value
          For n = 1 To 5
      If [Data!B102] > 1 Then Label211 = ""
      If TextBox180 = "" Then Label211 = ""
      If TextBox180 = "" Then Exit Sub
      If [Data!B102] > 1 Then Exit Sub
     Label211.Caption = [Data!D107].Value
     Label211.ForeColor = &H8000000F  'vbWhite
      Delay (0.3)
     Label211.ForeColor = vbRed
      Delay (0.3)
    Next n
        TextBox191.Value = Range("Data!C111").Value
        TextBox192.Value = Range("Data!D111").Value
        TextBox193.Value = Range("Data!C114").Value
        TextBox194.Value = Range("Data!D114").Value
        TextBox198.Value = Range("Data!C120").Value
        TextBox199.Value = Range("Data!C122").Value
        TextBox200.Value = Range("Data!C123").Value
        TextBox201.Value = Range("Data!D116").Value
        TextBox202.Value = Range("Data!D117").Value
        TextBox203.Value = Range("Data!D118").Value
        TextBox204.Value = Range("Data!D120").Value
        TextBox205.Value = Range("Data!D122").Value

 End Sub

Is dit op een of andere manier op te lossen.

Ik hoop dat het een en andere duidelijk is.
 
Hallo cow18

Heb op site gekeken zit ook een mooie timer bij.
Maar ik wil de timer voor meerder labels gebruiken en volgens mij kan dat niet met de op die site.
Ben vandaag ook een tijd bezig geweest maar ik kom er niet uit.
 
op het ogenblik dat er van kleur gewijzigd wordt, kan het eventueel een klein probleempje geven, dat ben ik niet zeker, maar anders knippert die gewoon verder
 

Bijlagen

  • KnipperendeUserForm.xls
    50,5 KB · Weergaven: 58
Cow18

Hellaas kan ik hiermee niet uit de voeten, heb even een voorbeeld gemaakt, zie bijlage.

Als in textbox1 een getal lager dan 10 wordt ingevoed van komt de tekst fout in label1 te knipperen, dat is niet het probleem.
Maar als je tijdens het knipperen bv 12 invoerd dan wordt deze niet overgenomen, kortom zolang de timer loopt kan er worden ingevoed maar er gebeurt niets.
Ik zou graag willen dat als er bv 12 wordt ingegeven dat dan de timer stopt.
 

Bijlagen

  • testtimer.xls
    33,5 KB · Weergaven: 30
Laatst bewerkt:
je hebt mijn code niet eens geprobeerd, of ik vind er toch geen restanten van terug ... :confused:
 
bij deze
 

Bijlagen

  • KnipperendeUserForm(2).xls
    52 KB · Weergaven: 63
Cow18

Ik biedt mijn nederig excuus aan:eek:

Ik had de Module1 over het hoofd gezien, heb nu beter alles bekeken n dit ziet er goed uit:p
Ga hiermee eens verder stoeien.

Nogmaals mijn excuus en zal voortaan beter opletten;)
 
Hallo Cow18,

Ben een tijdje met jou bestand aan het spelen en op zich werk het wel leuk, maar heb een paar opmerkingen.
Ik probeer de knippersnelheid aan te passen staat nu op 2 heb deze op 1 gezet maar dan werkt de knipper functie niet
Heb onder textbox2 de timer van textbox geplakt en dit aan gepast voor textbox2 dan komt wel de tekst maar deze knippert niet.

Kortom wil ik graag de knippersnelheid aanpassen en dat de timer voor meerdere textbox kan worden gebruikt, maar ik weet niet hoe dit aan te passen.
 

Bijlagen

  • KnipperendeUserForm(2).xls
    46,5 KB · Weergaven: 37
ontime werkt met een basis van minimaal 1 sec, wil je korter gaan (millisecondes) dan moet je met API-timers beginnen te werken, maar wat ik erover lees, dan is dat vrij gevaarlijk om excel te doen crashen, je moet heel goed weten waarmee je bezig bent.
Dus bij deze een oplossing per seconde, ik had het ook al door bij de vorige oplossing dat het soms vast liep. Dus nu gooi ik er 10 in 1 keer in de ring. Dat stopontime wil precies niet lukken, want blijkbaar worden ze niet gereset, dus daarom niet te veel in 1 keer opstarten (bv. 10 zoals ik).
Je zou haast denken dat er nog iets achter de seconde staat anders herstart hij niet altijd voor 10 nieuwe dus, daarom had ik volgende-nu <= 1 s.

Tenzij er iemand voor de milliseconden gaat, kan ik niet nauwkeuriger.
 

Bijlagen

  • KnipperendeUserForm(3).xls
    21 KB · Weergaven: 48
Cow18,

Ik heb het vermoeden dat er een schoonheids foutje in zit,:rolleyes: Namelijk dat de beide Textboxen een foute waarde moeten hebben voor dat de knipperfunctie gaat beginnen.
Heb al even gekeken maar ik zie zo niet waar aan dit ligt of ik moet iets over het hoofd zien.:eek:
De knippersnelheid ik prima:thumb:
 
Laatst bewerkt:
blijkbaar had ik hem in een te oude versie vertaald op mijn 2007 (nl. als 95)
hierbij een nieuwe versie onder 2003, iets herschikt, maar niets fundamenteels veranderd, werkt het nu ?
 

Bijlagen

  • KnipperendeUserForm(4).xls
    63 KB · Weergaven: 54
Ik ben bang dat ik misschien niet duidelijk was in het vorige:eek:
Textbox1 en label1 is een koppel en dus textbox2 en label2 ook maar deze moeten onafhankelijk van elkaar werken.
Dus fout in textbox1 dan label1 knipperen en dit geld ook voor het andere koppel.
Wandt nu werkt het zo dat als er een foute waarde in textbox1 is dan gaat label1 knipperen komt er in textbox2 een foute waarde dan doet label2 netjes mee maar als dan in textbox een juiste waarde staat dan verdwijnt label1 netjes en label2 stopt met knipperen de text blijft wel zichtbaar.
 
er wordt nog 100 keer geknipperd na de laatste fout = 50 keer aan + 50 keer uit.

Wat ik ook probeer, hij doet netjes het verwachtte bij mij.
ik tik 11 in TB1 en 11 in TB2 = er gebeurt niets
ik tik 2 in TB1 = LB1 begint te knipperen, A1 stelt de tijd voor, A2 telt iedere keer je "OmDeZoveelTijd" aanspreekt, A5 staat op 90 en gaat in sprongen van 10 achteruit naar 0 en bij die sprong zie je telkens VolgendeKeer in A3 staan. Is A2=0, dan stopt het knipperen.
Maar we zijn sneller dan dat dus ...
ik tik 1 in TB2 = LB2 begint ook te knipperen, weer activiteit op A1:A5, A5 staat weer op 90 en in stappen van 10 naar 0
ik tik 11 in TB1 = LB1 verdwijnt, LB2 blijft knipperen zolang A5 > 0
ik tik 3 in TB2 = LB2 verdwijnt ook

Ik vermoed dat je even in StartOnTime die teller op 1000 (dat is 1000 s = een kleine 20 minuten knipperen) moet zetten en het nog even aankijken ... .
 
toch 1 foutje misschien, in het initialiseren van de userform, als daar al een verkeerde waarde voor TB1 of TB2 staat, dan knippert hij niet, dus even snel de 2 macros aanroepen.
PS. Jij gebruikte een change-event, ik een AfterUpdate-event, dat is ook een verschil.

Code:
Private Sub UserForm_Initialize()
  TextBox1.Value = Range("Blad1!A2").Value
  TextBox2.Value = Range("Blad1!D1").Value
  Label2.Caption = Range("Blad1!D4").Value
  Label1.Caption = Range("Blad1!A4").Value
  TextBox1_afterupdate
  TextBox2_afterupdate
End Sub
 
Cow18

Ik zie het niet meer zitten, bij mij werkt het niet.:(
Geloof jou direct op je woord dat het bij jou wel werkt .
Kan het zo zijn dat er iets mis gaat het "vertalen" van Excel 2007 naar 2003?????
Heb van alles geprobeerd te wijzigen maar niets helpt.

Hoor zo langzamer hand de klok ook niet meer luiden.
 

Bijlagen

  • KnipperendeUserForm(5).xls
    62,5 KB · Weergaven: 80
Laatst bewerkt:
deze werkt alleszins bij mij.
misschien voor de veiligheid bij het overnemen van mijn bestand, klik je erop met de rechtermuisknop en dan doel opslaan als .... en je slaat hem eerst ergens op je schijf op en dan pas open je hem met excel. Om mogelijke fouten te vermijden ... .
 

Bijlagen

  • KnipperendeUserForm(4).xls
    67 KB · Weergaven: 56
Cow18

Deze werk helemaal perfect:thumb::d:d

Mijn dank is erg groot
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan