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

Inactief werkblad toch laten rekenen op de achtergrond

Status
Niet open voor verdere reacties.

frankie111

Gebruiker
Lid geworden
8 feb 2014
Berichten
50
Is er iemand die weet of je bij een niet actief werkblad van exel(een werkblad dat gewoon open in op de achtergrond staat) toch kan laten updaten naar je gevraagde waarden.
Ik heb bij de opdracht "Voorwaardelijke opmaakt" een formule ingegeven die op de huidige tijd in een kolom moet markeren met een fluo achtergrond.
Tot hier loopt alles prima en wordt mijn formule ook correct uitgevoerd maar indien ik het werkblad op de achtergrond plaats en met een ander programma bezig ben dan update hij de gegevens niet meer. Dit gebeurd enkel wanneer ik dit blad terug op de voorgrond breng.
Is daar een mogelijk voor om op de achtergrond de gegevens toch up to date te krijgen?
 
Dus elke seconde moet de voorwaardelijke opmaak berekend worden terwijl niemand kijkt?
 
elke seconde nu weer niet maar toch elke minuut. Maar eigenlijk kijk je wel want het blad staat op mijn tweede beeldscherm passief geopend.
 
Dat zou met een timer (Application.OnTime) mogelijk moeten zijn.
 
die ontime zou anders ook in je actieve werkmap kunnen staan en dan iets als workbooks("andere werkmap").sheets("inactief blad").calculate ????
 
die ontime zou anders ook in je actieve werkmap kunnen staan en dan iets als workbooks("andere werkmap").sheets("inactief blad").calculate ????

Maar werkt dit ook indien je met een ander program zoals bv "Edge" aan het werken bent?
 
Een timer werkt gewoon door in een niet actief werkboek.
Ook als je een ander programma dan Excel actief hebt.
 
Raar indien ik het script aanpas naar onderstaande dan kan ik dit niet meer stoppen. Bij onderstaande zit er een vertraging van 5 sec ipv de 1 seconde van het originele script.
Voor alle duidelijkheid is mijn probleem opgelost, maar ik stel me gewoon de vraag uit nieuwsgierigheid waarom dit nu niet meer lukt na deze aanpassing.

Sub StartTimer1()
Sheet1.Timer1_start.Caption = "Stop"
Application.OnTime Now + TimeValue("00:00:01"), "NextTick1"
End Sub

Sub NextTick1()
Sheet1.Range("D2").Value = Sheet1.Range("D2").Value + TimeValue("00:00:05")
Application.OnTime Now + TimeValue("00:00:04"), "StartTimer1"
End Sub

Sub StopTimer1()
On Error Resume Next
Application.OnTime Now + TimeValue("00:00:01"), "NextTick1", , False
Sheet1.Timer1_start.Caption = "Start"
End Sub
 
Wat je daar wilt bereiken begrijp ik niet, maar je start wel een 2e timer en die stop je nergens.
 
Wat je daar wilt bereiken begrijp ik niet, maar je start wel een 2e timer en die stop je nergens.
Inderdaad. Was een experimenteel foutje, maar indien ik de oorspronkelijke timer op 5 sec zet dan gebeurd het 'soms' ook dat deze timer niet stopt. Bij 1 sec geen probleem!?
Sub StartTimer1()
Sheet1.Timer1_start.Caption = "Stop"
Application.OnTime Now + TimeValue("00:00:05"), "NextTick1"
End Sub
 
Heb je dan wel in de StopTimer die 5 seconden ook aangegeven?
 
ja

Sub StartTimer1()
Sheet1.Timer1_start.Caption = "Stop"
Application.OnTime Now + TimeValue("00:00:05"), "NextTick1"
End Sub

Sub NextTick1()
Sheet1.Range("D2").Value = Sheet1.Range("D2").Value + TimeValue("00:00:05")
StartTimer1
End Sub

Sub StopTimer1()
On Error Resume Next
Application.OnTime Now + TimeValue("00:00:05"), "NextTick1", , False
Sheet1.Timer1_start.Caption = "Start"
End Sub
 
Dat is ook eigenlijk niet zoals het officiëel moet.
Maak er eens dit van:
Code:
Dim NextTime1 As Date

Sub StartTimer1()
    Sheet1.Timer1_start.Caption = "Stop"
    NextTime1 = Now + TimeValue("00:00:05")
    Application.OnTime NextTime1, "NextTick1"
End Sub

Sub NextTick1()
        Sheet1.Range("D2").Value = Sheet1.Range("D2").Value + TimeValue("00:00:05")
        StartTimer1
End Sub

Sub StopTimer1()
    On Error Resume Next
    Application.OnTime NextTime1, "NextTick1", , False
    Sheet1.Timer1_start.Caption = "Start"
End Sub
 
Laatst bewerkt:
nogmaals 1000x bedankt.
Met het andere kon ik ook al verder maar dit geeft me nog meer mogelijkheden qua timing van bepaalde opdrachten.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan