У меня есть текстовое поле с именем «txtEndBalance» в форме. Я хочу, чтобы только числа были вставлены как часть проверки данных. Поэтому у меня есть событие On Error.Ошибка в событии изменения текста текстового поля Форма VBA
Теперь, когда я запускаю форму с помощью кнопки. Он напрямую переходит к ошибке, и у меня появляется окно с сообщением «Недопустимая сумма валюты». Это не должно было быть так.
И затем, когда я избавлюсь от всплывающего окна, пытаясь ввести число. И сразу, когда я вводим однозначное число, он снова вызывает эту ошибку.
Я понятия не имею, где я ошибаюсь в коде ниже, потому что я думаю, что все сделал правильно.
Просмотрите файл here, если вам нужно.
Private Sub txtEndBalance_Change()
On Error GoTo Error:
Dim amt As Currency
amt = txtEndBalance
txtEndBalance = Format(amt, "$##,###,##0")
Exit Sub
Error:
If txtEndBalance <> "$" And txtEndBalance <> "" Then
MsgBox "Invalid currency amount", , "Error"
txtEndBalance = Format(0, "$##,###,##0")
End If
End Sub
У меня нет ошибки, когда отображается пользовательская форма, я просто получаю сообщение об ошибке, если я ввожу текст в текстовое поле вместо цифр, также получаю сообщение об ошибке при нажатии кнопки команды, поскольку она пытается найти подфункция. – Davesexcel