I'm using excel time format "hh:mm:ss.000" and adding 50ms at a time to cells in consecutive rows via VBA:

```
Dim dblTimestamp As Double
dblTimestamp = Selection.Value ' origin timestamp
' Setup base time increment of 50ms over 20 minutes

 For i = 1 To Selection.Rows.Count
    Selection.Rows(i).Value2 = dblTimestamp + (2# / (864000# * 4#))
    dblTimestamp = dblTimestamp + (2# / (864000# * 4#))
 Next i

```

So you see the origin time below on 5/23/2015 and things start out fine:

```
5/23/2015 05:30:00.000
05:30:00.050
05:30:00.100
05:30:00.150
05:30:00.200
05:30:00.250

```

The problem is that the precision/rounding errors start to show up after a couple minutes (~1840 rows):

```
05:31:32.100
05:31:32.149
05:31:32.199
05:31:32.249

```

And then after 20 minutes it's more pronounced:

```
05:49:59.793
05:49:59.843
05:49:59.893
05:49:59.943
05:49:59.993

```

Can I use some other datatype for my calculations or do I have to brute force and add an extra millisecond every ~1840 rows?
I'd prefer a solution that would also apply when I change the time step to 200ms