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,
|