View Single Post
  #11   Report Post  
Posted to microsoft.public.excel.programming
Silvio Silvio is offline
external usenet poster
 
Posts: 8
Default Combo Box if... then... else question

The control name is corrent. Interesting is that I have changed the the code
to validate the slection index number (test1 = 1, test2 = 2 test3 = 3) and
not the spelling of the selection and appears to work fine.

and using your original code with by using the index number and enclosing
[MyComboBox] in nrackets als works.

Here are both working methods:

If Sheets("Sheet1").DropDowns("MyComboBox") = "1" Then
Range("B1").Formula = "=Sheet2!A1"
Else
Range("B1").Value = ""
MsgBox "B1 has no data source.", vbInformation
End If

or

Sub MyComboBox_Change()

If [MyComboBox] = "1" Then
Range("B1").Formula = "=Sheet2!A1"
Else
Range("B1").Value = ""
MsgBox "B1 has no data source.", vbInformation
End If
End Sub

mmhhhhh why is that?



"Ryan H" wrote:

Is you combobox name MyComboBox? To get the name of the combobox, click the
combobox so the dots show at the corners, then put this in the Immediate
Window in VBE:

?Selection.Name

Put that name here in this code.

NOTE: This code goes in a standard module
Sub ComboBoxChanger()

If Sheets("Sheet1").DropDowns("NAME HERE") = "test1" Then
Range("B1").Formula = "=Sheet2!A1"
Else
Range("B1").Value = ""
MsgBox "B1 has no data source.", vbInformation
End If

End Sub

Now assign this sub to the combobox.

Hope this helps! If so, let me know, click "YES" below.

--
Cheers,
Ryan


"Silvio" wrote:

I did and I am getting a: Run-time error '424': Object required error message

if it makes any difference I am using excel 2007 and standart combo box (not
active x control)

"Ryan H" wrote:

Try adding .Value at the end of the Combobox in the If...Then statement.
Like this:

Private Sub MyComboBox_Change()

If MyComboBox.Value = €śtest1€ť Then
Range("B1").Formula = "=Sheet2!A1"
Else
Range("B1").Value = ""
MsgBox "B1 has no data source.", vbInformation
End If

End Sub
--
Cheers,
Ryan


"Silvio" wrote:

Ryan, I inserted a break to debug the code and it always tells me that
MyComboBox = Empty



"Ryan H" wrote:

Assuming you named your Combobox MyComboBox this should work for you. Put
this code into the ComboBox_Change Event. This will fire each time someone
changes the combobox value. Hope this helps! If so, let me know, click
"YES" below.

Private Sub MyComboBox_Change()

If MyComboBox = €śtest1€ť Then
Range("B1").Formula = "=Sheet2!A1"
Else
Range("B1").Value = ""
MsgBox "B1 has no data source.", vbInformation
End If

End Sub
--
Cheers,
Ryan


"Silvio" wrote:

Hello, I would like to change a cell source base once a selection made from a
combo box. After making a selection from the combo box the code should do
something like:

If MyComboBox = €śtest1€ť then
B1 = Sheet2!A1
Else
B1 has no data source (null)
End if

Whats the easiest way to accomplish my goal in Excel 2007?
PS. B1 is the cell in my fist Sheet.

Thank you,
Silvio