if statement in an if statement
dear all,
sorry for my late response
thank you for your calculation for the cases Mr. JMB
I think that if I had to make those 511 combination of codes,
then I wasted my time just for checking which checkbox/es is/are checked or
not ,
when the combination codes have been done,
there are another 511 combination of 'Run something' to be completed
Is this the best way to make a userform with alot of checkboxes for the user
to check some checkboxes and for us to identify which checkbox/es is/are
checked or not?
thanks all for the big idea,
warm regards,
"JMB" wrote:
My apologies, I was not following your original question. I think you are
looking at 511 different combinations.
"meiftan" wrote:
Really cool, Thank you for you help,
now I just make the code based on yours,
Actually there are 9 (nine!) checkboxes on my userform,
how many cases of possible user's check/s that I need to make?
There must be a lot of cases!
Once again, thank you so much for your help Mr.TWR
"TWR" wrote:
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,
|