Установите строковое значение в ячейке и избегайте его неверного истолкования как даты в США - PullRequest
0 голосов
/ 09 октября 2018

У меня есть простой код:

Cells(1,1).Value="10/02/2018"

, и я хочу, чтобы ячейка A1 имела значение 10/02/2018 в виде текста или даты, но ExcelДостаточно глупо писать 02/10/2018 в ячейке A1.

Помимо проклятия программистов Excel, как я могу это исправить?

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Так какой формат даты вы хотите?MM/DD/YYYY или DD/MM/YYYY?

Вы можете изменить его, используя

Cells(1, 1).NumberFormat = "DD/MM/YYYY"

И вы можете написать правильную дату, например

Cells(1, 1).Value = DateSerial(2018, 2, 10) 'DateSerial(Year, Month, Day)

Тем не менее, я настоятельно рекомендуюиспользовать ISO 8601 формат даты YYYY-MM-DD, который является единственным, который не может быть неверно истолкован людьми.

0 голосов
/ 09 октября 2018

Если вы хотите установить дату, отформатируйте ячейку как «мм / дд / гггг» после вставки значения:

Cells(1,1).Value="10/02/2018"
cells(1,1).NumberFormat = "mm/dd/yyyy"

Если вы хотите, чтобы она была текстовой, отформатируйте ячейку как текст перед вставкой значения:

cells(1,1).NumberFormat = "@"
Cells(1,1).Value="10/02/2018"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...