Thread
:
Text Box Set Focus Issue
View Single Post
#
2
Posted to microsoft.public.excel.programming
Chip Pearson
external usenet poster
Posts: 7,247
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
Reply With Quote
Chip Pearson
View Public Profile
Find all posts by Chip Pearson