ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Text Box Set Focus Issue (https://www.excelbanter.com/excel-programming/276263-text-box-set-focus-issue.html)

John Flynn

Text Box Set Focus Issue
 
I have a form with some text boxes used to capture some
text input. After the input box is updated I test the
value in a Function called DataOwnerNameValid. If I fail
the validation test I give the user a message. I then want
to return the cursor to the Input box so the user can
reenter the data.

I tried the earlier suggestion as follows but now get an
error message:

Private Sub DataOwnerInputBox_Exit(ByVal Cancel As
MSForms.ReturnBoolean)
If DataOwnerForm.DataOwnerInputBox = "" Then Exit Sub
xOwner = DataOwnerForm.DataOwnerInputBox
OwnerOK = DataOwnerNameValid(xOwner)
If OwnerOK = False Then
MsgBox "The Data Owner Name must be in the format:
Lastname, Firstname. Your input is - " & xOwner & " - and
does not meet the format required. Try again or cancel.",
vbExclamation, "Data Owner Name Invalid"
DataOwnerForm.DataOwnerInputBox.Cancel = True
End If
End Sub

Now I get an error message:

Could not set the cancel property. Member not Found.



Subject: Text Box on User Form Set Focus Issue
From: "Tom Ogilvy" Sent: 9/6/2003
7:21:41 AM

Use the Exit event and set cancel = True if the entry is
not valid.

--
Regards,
Tom Ogilvy

John Flynn wrote in message
...
I have a form with some text boxes used to capture some
text input. After the input box is updated I test the
value in a Function called DataOwnerNameValid. If I fail
the validation test I give the user a message. I then

want
to return the cursor to the Input box so the user can
reenter the data. To do this I use the following command:

DataOwnerForm.DataOwnerInputBox.SetFocus

But it doesn't work. The next input box or other control
on the form is selected. What is the right way to do

this?

Thank you

Private Sub DataOwnerInputBox_AfterUpdate()
If DataOwnerForm.DataOwnerInputBox = "" Then Exit Sub
OwnerOK = DataOwnerNameValid
(DataOwnerForm.DataOwnerInputBox)
If OwnerOK = False Then
MsgBox "Not Valid Name", vbExclamation, "Data
Owner Name Invalid"
DataOwnerForm.DataOwnerInputBox.SetFocus
End If
End Sub


Chip Pearson

Text Box Set Focus Issue
 
John,

Cancel isn't a property of the text box, it is a parameter passed to the
Exit procedure. Change the line
DataOwnerForm.DataOwnerInputBox.Cancel = True
to
Cancel = True


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
www.cpearson.com




"John Flynn" wrote in message
...
I have a form with some text boxes used to capture some
text input. After the input box is updated I test the
value in a Function called DataOwnerNameValid. If I fail
the validation test I give the user a message. I then want
to return the cursor to the Input box so the user can
reenter the data.

I tried the earlier suggestion as follows but now get an
error message:

Private Sub DataOwnerInputBox_Exit(ByVal Cancel As
MSForms.ReturnBoolean)
If DataOwnerForm.DataOwnerInputBox = "" Then Exit Sub
xOwner = DataOwnerForm.DataOwnerInputBox
OwnerOK = DataOwnerNameValid(xOwner)
If OwnerOK = False Then
MsgBox "The Data Owner Name must be in the format:
Lastname, Firstname. Your input is - " & xOwner & " - and
does not meet the format required. Try again or cancel.",
vbExclamation, "Data Owner Name Invalid"
DataOwnerForm.DataOwnerInputBox.Cancel = True
End If
End Sub

Now I get an error message:

Could not set the cancel property. Member not Found.



Subject: Text Box on User Form Set Focus Issue
From: "Tom Ogilvy" Sent: 9/6/2003
7:21:41 AM

Use the Exit event and set cancel = True if the entry is
not valid.

--
Regards,
Tom Ogilvy

John Flynn wrote in message
...
I have a form with some text boxes used to capture some
text input. After the input box is updated I test the
value in a Function called DataOwnerNameValid. If I fail
the validation test I give the user a message. I then

want
to return the cursor to the Input box so the user can
reenter the data. To do this I use the following command:

DataOwnerForm.DataOwnerInputBox.SetFocus

But it doesn't work. The next input box or other control
on the form is selected. What is the right way to do

this?

Thank you

Private Sub DataOwnerInputBox_AfterUpdate()
If DataOwnerForm.DataOwnerInputBox = "" Then Exit Sub
OwnerOK = DataOwnerNameValid
(DataOwnerForm.DataOwnerInputBox)
If OwnerOK = False Then
MsgBox "Not Valid Name", vbExclamation, "Data
Owner Name Invalid"
DataOwnerForm.DataOwnerInputBox.SetFocus
End If
End Sub





All times are GMT +1. The time now is 11:53 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com