Миллисекунды округляются до ближайшей секунды при попытке назначить для ячейки на листе Excel формат даты VBA или вариантный формат даты.

Проблемы

Когда вы изменяете значение в ячейке листа Microsoft Excel с помощью программного изменения, указанное значение миллисекунд округляется до ближайшей секунды. Эта проблема возникает, если выполняются указанные ниже условия.

  • Изменения, которые вы вносите, назначаются в ячейку в формате даты VBA или в виде варианта формата даты.

  • Программные изменения произопределяются с помощью макросов Visual Basic для приложений или внешнего клиента автоматизации.

Эта проблема не возникает, если выбранное вами изменение назначает формат даты или формат времени для ячейки.

Причина

Эта проблема возникает из-за того, что Excel внутренне Форматирует строки даты согласно формату даты и времени, указанному на вкладке региональные параметры в компоненте Язык и региональные стандарты на панели управления. Это значение округляется до ближайшей секунды. Excel назначает это значение ячейке, а затем пересчитывает значение для получения нового значения даты для ячейки.

Обходное решение

Чтобы устранить эту ошибку, воспользуйтесь одним из описанных ниже способов.

Способ 1

Вы можете преобразовать значение даты в строковый формат, содержащий дробную часть секунды. Это строковое значение может быть назначено и рассчитывается как формат даты, в котором хранятся миллисекунды.

Способ 2

Чтобы сохранить миллисекунды, можно использовать свойство value2 объекта Range. Например, можно использовать следующий код VBA.

Sub CopyValueUsingVBDate()   Dim d As Date   d = ActiveSheet.Range("A1").Value   ActiveSheet.Range("B1").Value2 = dEnd Sub

Чтобы получить дополнительные сведения, щелкните следующий номер статьи базы знаний Майкрософт:

182812 Описание свойства Value2 для объекта Range

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×