View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
patrick molloy patrick molloy is offline
external usenet poster
 
Posts: 391
Default Checking values already in combo boxes

I'd use a dictionary - Microsoft Scripting Runtime - that
works as a collection except has an Exists method that
can be tested....

Here's some code behind a simple form that first
populates a combo from a named range.
The form has a combobox (comboBox1) and a command button
(cmdProcess)
It also loads a dictionary. The initialise event calls
the same sub to load the form as the button.

when the process command is clicked, the value of whats
in the combo is also passed to the Load_Combo procedure.
This procedure adds the passed value to the dictionary
and combo if its not there already

Option Explicit

Private myDic As Scripting.Dictionary

Private Sub UserForm_Initialize()
Set myDic = New Scripting.Dictionary
Dim cell As Range
Dim Text As String
For Each cell In ThisWorkbook.Names("MyData")
Text = cell.Value
Load_Combo Text
Next
End Sub
Private Sub Load_Combo(Text As String)
If Not myDic.Exists(Text) Then
myDic.Add Text, Text
ComboBox1.AddItem Text
End If
End Sub

Private Sub cmdProcess_Click()
Load_Combo ComboBox1.Value
End Sub

The code is relatively easy to follow

Patrick Molloy
Microsoft Excel MVP


-----Original Message-----
The value I input into textbox1 I want to add into
combobox1. But first I want the code to check combobox1
first to see if the value exists, if it does then the

code
stops, if not then add it in.

I have this already but am stuck:

If combobox1.? = textbox1.text Then
GoTo end
Else:
cmbRollNumber.AddItem (txtBAID.Text)
End If
.