Milliseconds are rounded to the nearest second when you try to assign the VBA Date format or the Variant Date format to a cell in an Excel worksheet

Article translations Article translations
Article ID: 875526 - View products that this article applies to.
Expand all | Collapse all

On This Page

SYMPTOMS

When you make a programmatic change to the value in a cell in a Microsoft Excel worksheet, the millisecond value that you specify is rounded to the nearest second. This issue occurs when the following conditions are true:
  • The change that you make assigns the VBA Date format or the Variant Date format to the cell.
  • You make the programmatic change by using a Visual Basic for Applications macro or by using an external Automation client.
This issue does not occur when the change that you make assigns the Date format or the Time format to the cell.

CAUSE

This issue occurs because Excel internally formats date strings according to the date and time format that is specified on the Regional Options tab of the Regional and Language Options item in Control Panel. This value is rounded to the nearest second. Excel assigns this value to the cell and then recalculates the value to produce a new date value for the cell.

WORKAROUND

Use one of the following methods to work around this issue.

Method 1

You can convert the date value into a string format that contains a fraction of a second. This string value can be assigned to and calculated as a date format that retains the milliseconds.

Method 2

You can use the Value2 property of the Range object to retain the milliseconds. For example, you can use the following VBA code.
Sub CopyValueUsingVBDate()
   Dim d As Date
   d = ActiveSheet.Range("A1").Value
   ActiveSheet.Range("B1").Value2 = d
End Sub
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
182812 Description of the Value2 property for the Range object

Properties

Article ID: 875526 - Last Review: February 13, 2007 - Revision: 3.1
APPLIES TO
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
Keywords: 
kbvba kbprogramming kbautomation kbtshoot kbprb KB875526

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com