View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.misc
TWR TWR is offline
external usenet poster
 
Posts: 30
Default if statement in an if statement

Try this:
Dim i as integer

i=0
With UserForm1
If .CheckBox1.value=true then i=i+1
If .CheckBox2.value=true then i=i+2
If .CheckBox3.value=true then i=i+4
End With

Select Case i
Case 0 ' No CB's Checked
Run Something
Case 1 ' Only CB1 Checked
Run Something
Case 2 ' Only CB2 Checked
Run Something
Case 3 ' CB's 1 & 2 Checked
Run Something
Case 4 ' Only CB 3 Checked
Run Something
Case 5 ' CB's 1 & 3 Checked
Run Something
Case 6 ' CB's 2 & 3 Checked
Run Something
Case 7 ' All CB's Checked
Run Something
End Select


"meiftan" wrote:

thank you for your reply,

the code works only if the user checks all the checkboxes, when there is a
checkbox not checked, example

checkbox1 checked
checkbox2 not checked
checkbox3 checked

the code won't run the 'something'
I need something like this

If Userform1.Checkbox1.Value = True (AND this condition
Userform1.Checkbox2=True<<If the value is True) And

Userform1.Checkbox3.Value = True Then
Run something

So, based on example, the code will only run like this

If Userform1.Checkbox1.Value = True And Userform1.Checkbox3.Value = True Then
Run something
End If

If I have to make codes for the all possible user's check/s, then I have to
make 7 different codes like this

If Userfom1.Checkbox1.Value = True Then
Run something
End If

If Userfom1.Checkbox1.Value = True And Userfom1.Checkbox2.Value = True Then
Run something
End If

If Userfom1.Checkbox1.Value = True And Userfom1.Checkbox3.Value = True Then
Run something
End If

If Userfom1.Checkbox2.Value = True Then
Run something
End If

If Userfom1.Checkbox2.Value = True And Userfom1.Checkbox3.Value = True Then
Run something
End If

If Userfom1.Checkbox3.Value = True Then
Run something
End If

If Userfom1.Checkbox1.Value = True And Userfom1.Checkbox2.Value = True And
Userfom1.Checkbox3.Value = True Then
Run something
End If

the codes need to be simplified

Best Regards,

"JMB" wrote:

This code that you posted works fine for me

If Userform1.Checkbox1.Value = True And Userform1.Checkbox2.Value = True And
Userform1.Checkbox3.Value = True Then
Run something


Are you sure you are referencing the correct checkbox control??



"meiftan" wrote:

Dears,
I have a trouble in using if statement in macro, hope someone with
"Excel"ent mind answer my question, sorry for my bad English.

Here's the macro in my mind,

If Userform1.Checkbox1.Value = True (If "AND" Userform1.Checkbox2.Value =
True(If "AND" Userform1.Checkbox3.Value)) Then
Run something

I used this before,

If Userform1.Checkbox1.Value = True And Userform1.Checkbox2.Value = True And
Userform1.Checkbox3.Value = True Then
Run something

But when the Checkbox2.Value = False , It doesn't work , I changed AND to
OR, same result, the point is when the value = False, then non-activate that
condition.

Regards,