Спасибо огромное!!! Сам бы изобретал велосипед еще очень долго и придумывал бы какие-то промежуточные процедуры.
У меня действительно идет сразу сохранение в таблицу на лист книги. Ни к каким объектам формы процедура не обращается.
Сделал как у Вас заработало.
Но....
У меня в процедуре проверки
Код |
---|
Private Sub txtKol1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
MsgBox "TextBox1_Exit";
nn = 1
Nazv_TMC = Me.Controls(cmbNazv & nn).Text
Kol_TMC = Me.Controls(txtKol & nn).Value
If Остатки(Nazv_TMC, Kol_TMC, nn) Then
Else
Cancel = True '"<-" строка вызывает ошибку времени выполнения
End If
End Sub
Private Sub B_Сохранить_Приход_Click()
txtFoxus.SetFocus
txtFoxus = "Focus"
MsgBox "сработала кнопка"
End Sub
Function Остатки(Name_TMC As String, Kol_TMC As String li As Long) As Boolean
Остатки = False
End Function
|
"<-" строка вызывает ошибку времени выполнения: run-time error '-2147467259 (80004005) Unspecified error
и я понимаю почему:
если функция Остатки = True то метод Cancel не вызывается и все хорошо отрабатывает.
но если остатков не хватает то Cancel = True не дает возможности перенести фокус на txtFoxus.SetFocus и происходит эта ошибка.
Не пойму как это обработать!
Если не вызываю txtFoxus.SetFocus, то строка txtFoxus = "Focus" не вызывает процедуру Sub txtKol1_Exit
Получается мне все равно нужно придумать искусственный перенос фокуса, но сделать это как-то по другому.
Пока готовил Вам файл для примера - нашел причину: Дело видимо во Frame в который заключены мои ТекстБоксы.
Пока были TextBoxы без Frame - все работало как у Вас. Как только заключил их во Frame - получил то что у меня.
Кому интересно - посмотрите пример:
Frame я конечно уберу. Но...
Кто-то может сказать в чем тут дело? и ПОЧЕМУ при переходе мышкой из TextBox если он заключен во Frame не вызывается процедура TextBox_Exit а без Frame вызывается???
Автору ответа -все равно ОГРОМНОЕ СПАСИБО!
Если бы не Ваш пример сидел бы и потел над необъянимым поведением VBA
А так благодаря Вам и попыткой показать что у меня не так - все-таки нашел причину!
P.S.
Ну и гадость эта ваша заливная рыба-VBA
и за что я ее все равно люблю?
