ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Show Milliseconds (https://www.excelbanter.com/excel-programming/380201-re-show-milliseconds.html)

Peter T

Show Milliseconds
 
This should write to cells in intervals of 0.125 seconds, and display units
of seconds to 3dp

Public Declare Function GetTickCount _
Lib "kernel32.dll" () As Long

Sub test()
Dim tNow As Long, tNext As Long
Dim tStart As Long
Dim nInterval As Long
Const C As Long = 86400000

With Range("A1:A100")
.Clear
.NumberFormat = "mm:ss.000"
End With

nInterval = 125
tStart = GetTickCount
tNext = tStart

For n = 1 To 17
Cells(n, 1) = (tNext - tStart) / 86400000
tNext = tNext + nInterval
Do While GetTickCount <= tNext
Loop
Next

End Sub

Regards,
Peter T

"Ndel40" wrote in message
...
I am trying to build a program to show elapsed time and I want to display

the
time in "hh:mm:ss.000" format (the worksheet cell is formated as

indicated).
However, I can't get milliseconds to change... always stays at 000.

Here is a test module I am using to try and get the right format... any

help
would be appreciated.

Sub test()
Dim ntime As Date
Dim counter As Integer

counter = 0
Do While counter < 5
ntime = Time
Range("e7").Value = Format(ntime, "hh:mm:ss.000")
counter = counter + 1

MsgBox Format(ntime, "hh:mm:ss.000")
Loop
End Sub

Thanks!





Peter T

Show Milliseconds
 
not quite
?

Why can't I get millisecond results from my VB formula?


The Time function returns whole seconds since midnight

Dim td As Double
td = Time
MsgBox td & vbCr & _
td * 24 * 60 * 60 & vbCr & _
CDate(td)

Regards,
Peter T


"Ndel40" wrote in message
...
So far to the reply's... no, no and not quite, but thanks!

I can get milliseconds to show using standard excel formulas and

formatting
the cell hh:mm:ss.000

Excel Formula...
=TEXT(TIME(18,8,0)-TEXT(NOW(),"hh:mm:ss.000"),"hh:mm:ss.000")

Results in...
10:27:49.580

Why can't I get millisecond results from my VB formula?

ntime = Time
Range("e7").Value = Format(ntime, "hh:mm:ss.000")

OR

StopTime = TimeSerial(15, 15, 15)
myTime = Time
ntime = Format(myTime - StopTime, "hh:mm:ss.000")

Thanks,

Nick




Ndel40

Show Milliseconds
 
Thanks!

"Peter T" wrote:

not quite

?

Why can't I get millisecond results from my VB formula?


The Time function returns whole seconds since midnight

Dim td As Double
td = Time
MsgBox td & vbCr & _
td * 24 * 60 * 60 & vbCr & _
CDate(td)

Regards,
Peter T


"Ndel40" wrote in message
...
So far to the reply's... no, no and not quite, but thanks!

I can get milliseconds to show using standard excel formulas and

formatting
the cell hh:mm:ss.000

Excel Formula...
=TEXT(TIME(18,8,0)-TEXT(NOW(),"hh:mm:ss.000"),"hh:mm:ss.000")

Results in...
10:27:49.580

Why can't I get millisecond results from my VB formula?

ntime = Time
Range("e7").Value = Format(ntime, "hh:mm:ss.000")

OR

StopTime = TimeSerial(15, 15, 15)
myTime = Time
ntime = Format(myTime - StopTime, "hh:mm:ss.000")

Thanks,

Nick






All times are GMT +1. The time now is 06:11 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com