Otradnoe_4D пишет:Доброго
Помогите реализовать.
В UserForm есть TextBox в который пользователь должен ввести дату.
Идея заключается в том, когда человек ввел число, например 12 то сразу автоматом ставится точка, потом он вводит 10 и так же подставляется точка, дальше может быть два развития события либо человек написал 2019 и его курсор автоматический переводится на следующий TextBox или он просто пишет 19 и перейдя на следующий TextBox либо с помощью Tab или курсором 12.10.19 переделывается в 12.10.2019. Так же нужно что бы можно было писать только цифры и подчеркивание.
Всё бы было здорово, только это частично лишь сработает без дополнительной информации от пользователя. Ну или пользоваться только до 20-го года, а вот если только последние 2 цифры вводить, то тогда норм.
Private Sub TextBox1_Change()
If Len(UserForm1.TextBox1.Value) = 2 Or Len(UserForm1.TextBox1.Value) = 5 Then
TextBox1.Value = UserForm1.TextBox1.Value & Chr(46)
ElseIf Len(UserForm1.TextBox1.Value) = 8 Then
Select Case Right(UserForm1.TextBox1.Value, 2)
Case "19": TextBox1.Value = Left(UserForm1.TextBox1.Value, 6) & "2019"
Case "18": TextBox1.Value = Left(UserForm1.TextBox1.Value, 6) & "2018"
End Select
ElseIf Len(UserForm1.TextBox1.Value) = 10 Then
UserForm1.TextBox2.SetFocus
End If
End Sub
Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871