Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.misc
|
|||
|
|||
if statement in an if statement
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, |
#2
Posted to microsoft.public.excel.misc
|
|||
|
|||
if statement in an if statement
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, |
#3
Posted to microsoft.public.excel.misc
|
|||
|
|||
if statement in an if statement
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, |
#4
Posted to microsoft.public.excel.misc
|
|||
|
|||
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, |
#5
Posted to microsoft.public.excel.misc
|
|||
|
|||
if statement in an if statement
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, |
#6
Posted to microsoft.public.excel.misc
|
|||
|
|||
if statement in an if statement
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, |
#7
Posted to microsoft.public.excel.misc
|
|||
|
|||
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, |
#8
Posted to microsoft.public.excel.misc
|
|||
|
|||
if statement in an if statement
I can't give an opinion on the "best" way to approach it as there are not
enough details of your project. Generally, I would try to determine if any combinations can be eliminated (ie - if Checkbox1 is checked, is it possible for Checkbox3 to be also be checked). Also, are there any combinations that would result in the same action being performed (are there actually 511 completely different actions that will need to be taken depending on what checkboxes are checked?) Look to see what can be combined. Post some details to outline more specifically what you are working with and what you are trying to accomplish. I or someone else may be able to assist. "meiftan" wrote: 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, |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Can an If statement answer an If statement? | Excel Discussion (Misc queries) | |||
appending and IF statement to an existing IF statement | Excel Worksheet Functions | |||
if statement | Excel Worksheet Functions | |||
If statement and Isblank statement | Excel Worksheet Functions | |||
Help please, IF statement/SUMIF statement | Excel Worksheet Functions |