VBA EXCEL Numlock включается и выключается, когда я пишу в текстовом поле
Здравствуйте, у меня есть пользовательская форма с текстовым полем, которое должно принимать входные данные определенным образом. Только цифры и с точками и - посередине. Как это например: 111-111.111-111
Коллега предоставил мне кусок кода, который делает это, однако я заметил, что numlock выключается каждый раз, когда кто-то пишет что-то внутри текстового поля. Например, если я напишу 1, он выключится, однако, если я нажму num1, а не просто нажму на него, он запишет все 111-111.111-111.
Это код, был бы признателен, если кто-нибудь может определить, что не так и помогает.
Private Sub BoxProduto5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
BoxProduto5.MaxLength = 15
Select Case KeyAscii
Case 48 To 57 'numericos
If BoxProduto5.SelStart = 3 Then BoxProduto5.SelText = "-"
'SendKeys "{End}", False
If BoxProduto5.SelStart = 7 Then BoxProduto5.SelText = "."
'SendKeys "{End}", False
If BoxProduto5.SelStart = 11 Then BoxProduto5.SelText = "-"
'SendKeys "{End}", False
Case 8 'Aceita o BACK SPACE
'Case Else ' o resto é travado
KeyAscii = 0
End Select
End Sub
Это произошло, когда я попытался что-то изменить внутри этого текстового поля.