Ознаки
Під час створення програмної зміни значення у клітинках на аркуші Microsoft Excel значення, яке ви вказали, округлюється до найближчої секунди. Ця проблема виникає, якщо виконуються такі умови:
-
Зміни, які ви робите, призначає формат дати VBA або формат дати варіанта.
-
Ви робите програмну зміну за допомогою макросу Visual Basic для програм або за допомогою клієнта зовнішньої автоматизації.
Ця проблема не виникає, коли зміни, які ви вносите, присвоює формат дати або формат часу для цієї камери.
Причина
Ця проблема виникає, оскільки рядки дат у програмі Excel внутрішньо відповідно до формату дати й часу, указаного на вкладці регіональні параметри в елементі " мова та регіональні стандарти " на панелі керування. Це значення округлюється до найближчої секунди. Програма Excel призначає це значення, а потім повторно обчислює значення, щоб створити нове значення дати для цієї камери.
Інші способи вирішення
Щоб вирішити цю проблему, скористайтеся одним із наведених нижче способів.
Метод 1
Значення дати можна перетворити на рядковий формат, який містить дріб секунди. Це Рядкове значення можна призначати та обчислено як формат дати, який зберігає мілісекунди.
Метод 2
Ви можете використовувати властивість значення2 для об'єкта діапазону, щоб зберегти мілісекунди. Наприклад, можна використовувати наведений нижче код VBA.
Sub CopyValueUsingVBDate() Dim d As Date d = ActiveSheet.Range("A1").Value ActiveSheet.Range("B1").Value2 = dEnd Sub
Щоб отримати додаткові відомості, клацніть наведений нижче номер статті, щоб переглянути статтю в базі знань Microsoft Knowledge Base:
182812 Опис властивості Значення2 для об'єкта діапазону