Avatar billede kgndksv Juniormester
30. september 2010 - 13:49 Der er 4 kommentarer og
1 løsning

On time funktion - forklaring

Er der nogen der kan forklare mig on time-funktionen

dTime = Now + TimeValue("00:00:10")

Application.OnTime earliesttime:=dTime, procedure:="Opdatering", schedule:=True

Jeg bruger denne fukntion, sakset et eller andet fra, men forstår den egentlig ikke...

Hvordan slår jeg den fra og hvad betyder "earliesttime" egentlig?
Avatar billede tjacob Juniormester
30. september 2010 - 14:06 #1
Den sætter en funktion/procedure til at blive kørt på et bestemt tidspunkt.
I dit tilfælde vil proceduren Opdatering blive kørt 10 sekunder efter du kører OnTime funktionen. Se mere her:

http://msdn.microsoft.com/en-us/library/aa195809%28v=office.11%29.aspx
Avatar billede kgndksv Juniormester
30. september 2010 - 15:24 #2
Synes ikke linket forklarer super godt...

Kan du forklare mig, hvordan jeg kan aktivere og deaktivere denne procedure, jeg vil styre det ved hjælp af celle A1 - Hvis = 1 så kør hver 5 min ellers så stop opdatering hver. 10 sekund.

Som jeg har lavet dette eksempel kommer denne fejl:

Rune-time error '1004':
Method 'OnTime' of object'_Applucation' failed

Eksemplet:

Option Explicit

Sub test()

Application.OnTime earliesttime:=Now, procedure:="Opdatering", schedule:=True

End Sub


Sub opdatering()

Dim dTime As Double


If Worksheets("ark1").Range("A1").Value = 1 Then

dTime = Now + TimeValue("00:00:10")

Application.OnTime earliesttime:=dTime, procedure:="Opdatering", schedule:=True

MsgBox (Time)

Else

Application.OnTime earliesttime:=Now, procedure:="Opdatering", schedule:=False

MsgBox ("sidste gang " & Time)

End If

End Sub

Kan
Avatar billede kgndksv Juniormester
30. september 2010 - 15:24 #3
nogen hjælpe mig?
Avatar billede kgndksv Juniormester
30. september 2010 - 15:49 #4
Arh... nu forstår jeg! Har fundet god info her:

http://www.cpearson.com/excel/OnTime.aspx

tjacob sender du et svar, tak for hjælpen :-)
Avatar billede tjacob Juniormester
30. september 2010 - 16:00 #5
Jeg havde netop selv fundet den samme side :), og skulle til at lave eksempel.........;)

Du er nok nødt til at finde en metode til at starte timeren hvis der bliver skrevet 1 i A1.
F.eks. noget med:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = "$A$1" Then
        If Target.Value = 1 Then Call StartTimer
    End If

End Sub

i Ark1
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester