View Single Post
  #7   Report Post  
Posted to microsoft.public.excel.misc
meiftan meiftan is offline
external usenet poster
 
Posts: 6
Default 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,