У меня есть код, который позволяет мне вручную вводить дату в текстовое поле1, которое затем выбирается в календаре на форме использования. Существует второе текстовое поле, которое позволяет мне добавлять или вычитать даты. Код работает отлично.текстовый формат даты excel vba
UserForm код -
Option Explicit
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(Me.TextBox1.Value) Then Me.Calendar1.Value = Me.TextBox1.Value
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim dt As Date
With Me
If IsDate(.TextBox1.Value) Then
dt = CDate(.TextBox1.Value) + Val(.TextBox2.Value)
.TextBox1.Value = dt
.Calendar1.Value = dt
End If
End With
End Sub
Я хотел бы, чтобы вручную ввести дату в TextBox1 в определенном формате.
форматы будут -
дд
ddmmm
ddmmmyyy
Я не знаю, как написать код, который делает это.
Идея состоит в том, чтобы ввести дату в любом из трех форматов, указанных выше в текстовом поле 1, которое затем выбирается в календаре пользовательской формы.
я не уверен, если я делаю что-то неправильно. Я щелкнул правой кнопкой мыши по пользовательской форме и вставил код выше. Теперь, когда я печатаю 25 или 25Jan или 25Jan17, код не выбирает 25Jan в календаре. Что я делаю неправильно – user2194182
Код работает, когда я вводю дату как 25Jan или 25Jan17. br/ Когда я ввожу дату как 25, появляется сообщение об ошибке как - Ошибка времени выполнения '13': Введите несоответствие и код '' okDay = CInt (txt)> 0 И CInt (txt) <31 "получает подсветку – user2194182
, пожалуйста, закройте это сообщение, принимающее ответ на ваш вопрос _original_ и сделайте новый пост для новой проблемы. В этом последнем случае вам лучше разместить свои попытки кода и указать, что не работает и почему. спасибо! – user3598756