View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
K Dales K Dales is offline
external usenet poster
 
Posts: 131
Default UserForm Questtion

Add an AfterUpdate Event Procedure to Textbox1 and
ListBox2 that "overrides" whatever is already entered in
the other; e.g:

Sub TextBox1_AfterUpdate()
UserForm1.ListBox2.ListIndex = -1
End Sub

Sub ListBox2_AfterUpdate()
UserForm1.TextBox1.Value = ""
End Sub

For more sophistication you could even add a messagebox to
verify what the user wants to do (e.g. override the
original selection (OK) or keep the original selection
(Cancel)).

K Dales

-----Original Message-----
Greetings,
I use the following code to get input from the user.

ListBox1 provides a
list of "Areas" (NAreaName) in my project. ListBox2

provides a list of
potential new "Areas" to add. TextBox1 provides a way for

the user to enter
a new "Area" by typing its name. The length is checked

and also a check is
done to see if the newly entered name is already in the

project. This all
works fine.

Here is the question; One of my users happened to click

on ListBox2 and then
entered a new "Area" in TextBox1 which is really what was

desired, however,
when the macro was finished, the "Area" selected in

ListBox2 was added to
the project vs the new name. How would you change this

code to deal with
this mis entry issue?

Hopefully I have explained the issue so it can be

understood.

Thanks in advance for your help!

Ray

Do
UserForm2.Show
NAreaName = UserForm2.TextBox1.Value

If Not UserForm2.ListBox2.ListIndex = -1 Then '

selecting typical
NAreaName = UserForm2.ListBox2.Value
End If
If Not bResponse Then
MsgBox "Cancel Selected"
End
End If
If NAreaName = "" Then
blnExit = False
ElseIf Len(NAreaName) 22 Then ' check if

name fits length
MsgBox "Name is more than 22 characters!

Try Again"
blnExit = False
ElseIf Application.CountIf(Range

("AreaNames"), _
NAreaName) 0 Then ' see if name has

been used
MsgBox "Name has already been used."
blnExit = False
Else
blnExit = True
End If
Loop While blnExit = False


.