Excel VBA пользовательской формы проверки существующей даты - PullRequest
1 голос
/ 04 апреля 2019

В настоящее время я работаю над текстовым полем (textbox1), в которое необходимо ввести дату. Однако до сих пор также можно ввести несуществующую дату, например 40-40-2019. Есть ли способ проверить textbox1 только с существующими датами? В настоящее время я использую европейскую запись даты, так что дд-мм-гггг. И код ниже, чтобы изменить дату на стандартный формат:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
 Me.TextBox1 = Format(Me.TextBox1, "DD-MM-YYYY")
End Sub 

Я ожидаю, что на выходе будут только существующие функции даты

1 Ответ

0 голосов
/ 04 апреля 2019

Используйте Isdate() для проверки даты:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    If Isdate(Me.TextBox1.Text) then
        Me.TextBox1.Text = Format(Me.TextBox1.Text, "DD-MM-YYYY")
    Else
        '...
    End if
End Sub 

https://www.techonthenet.com/excel/formulas/isdate.php

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