Как проверить, содержит ли ячейка дату в указанном формате c? - PullRequest
0 голосов
/ 26 февраля 2020

Я создаю лист, где пользователь вводит дату, а затем запускает макрос для получения информации с этой даты. Но для работы макроса дата должна быть в формате ГГГГ-ММ-ДД. Это мой код:

If Sheets("DeliveryResults").Range("Q19").NumberFormat <> "yyyy-mm-dd" Then
    MsgBox ("Write the date in the format YYYY-MM-DD")
    Exit Sub
End If

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

Это код, который использует дату, введенную в ячейку:

Dim Today As Date
Dim Yesterday As Date
Today = Sheets("Resultat").Range("Q19").Value
Yesterday = Today - 1
Dim starthour As Date
starthour = Today & " 07:00:00"

Даты в данных, которые считывает макрос, отформатированы как «2020-02- 26 19:27:30 "

/ Jens

1 Ответ

0 голосов
/ 26 февраля 2020

В вашем сообщении недостаточно информации для определения проблемы. Попробуйте что-то вроде:

Sub qwerty()
If Sheets("DeliveryResults").Range("Q19").NumberFormat <> "yyyy-mm-dd" Then
    MsgBox ("Q19 has NumberFormat" & Chr(10) & Sheets("DeliveryResults").Range("Q19").NumberFormat & Chr(10) & "use yyyy-mm-dd instead")
    Exit Sub
End If
End Sub

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...