Страницы: 1
RSS
Событие exit не выполняется после change, userform
 
Добрый день!

Во вложении пример. Смотрим только на нижний тексбокс в форме.

Была задача.
По-умолчанию у textbox3 значение "Номер". захожу в поле, значение меняется на пустое. что-то ввожу, ок.
если не ввел ничего и переключаюсь на дргое поле, то значение "номер" восстанавливается.
стоило мне добавить метод change для проверки ввода символов, так метод exit перестал выполнятся при выходе из textbox.
как решить проблему?
 
а кто вам сказал что не срабатывает?
вариант
Код
Private Sub TextBox3_Change()
...
If TextBox3.Value = "Номер" Then Exit Sub
....
Изменено: V - 28.11.2016 17:20:21
 
Я сказал :)
так как когда выхожу из textbox3 и в нем пусто, значение "Номер" не восстанавливается, хотя должно было бы.
Не понял смысла в вашем коде, так как мне нужно зайти в тексбокс, если выходя из него он пустой, восстановить значение "Номер".
 
процесс такой после выхода происходит заполнение текстбокса и соответственно срабатывает change которое у вас вычищает от надписи и потом только завершение кода выхода. так я дописал чтобы сразу выходило из кода и не чистило.

для отладки кода есть кнопка F8 и окно locals, научитесь пользоваться, большую часть ошибок сможете сами решить.
Изменено: V - 28.11.2016 17:38:50
 
ах вон оно что. change и после exit вызывается оказывается. спасибо!
 
Код
Me.TextBox3.Value = "Номер" 

вызывает событие Change )
Цитата
squadgazzz написал:
как решить проблему?
в конкретном случае - так как уже подсказали выше, а вообще - практикуйте писать отдельные процедуры типа
Код
Sub My_actions
'тут мой код
End Sub
и вызывать по мере надобности из процедур событий контролов
Код
Private Sub TextBox3_Change()
Call My_actions
End Sub
Это поможет избежать двойного кода и более точно организовать вызов нужных процедур
Страницы: 1
Наверх