ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Setup Userform (https://www.excelbanter.com/excel-programming/283779-setup-userform.html)

Martin Los

Setup Userform
 
I have a Userform with 2 comboboxes (date and month), 4
checkboxes and 4 textboxes. Depending on the selection of
the 4 checkboxes I want to the 4 textboxes to represent
text (or not).

In total there are 14 posibilities of what needs to be
shown. How can I program with a VBA routine whether the
textboxes need to show a certain text, depending on
whether the checkboxes are true or false?

I want to prevent loads of if .. then structures like:
"If checkbox1 = true then
If checkbox2 = true then
If checkbox3 = true then
.....
textBox1.Text = "Text1"
Else......"

1) Are boolean variables to check state of checkboxes
easier to use to get textboxes to represent text (or not)?

2) How can I get default text of comboboxes to be shown in
Textbox? If I have on Userform_Initialize():

combobox1.Value = Format(Ayer, "d")
combobox2.Value = Format(Ayer, "mmm")

and
textbox1.Text = combobox1.Value

Then on showing the userform, only the combobox values are
shown with dates, but not the textboxes.

Thanks in advance

Martin


Yours sincerely

Martin

Harald Staff

Setup Userform
 
Hi Martin

Whenever I deal with multiple boolean values, I usually cram them together
into a Long number for storage, initialization or analysis. The idea is tha
number 9 is binary number 1001 -where each 1 or 0 represents true or false.
32-bit Windows' Long can handle 31 boolean values; 31 checkboxes or similar.

Try 4 checkboxes on a userform and this code to a button:

Private Sub CommandButton1_Click()
Dim L As Long 'our number
Dim C As Long 'a counter only
L = Abs(CheckBox1.Value + _
2 * CheckBox2.Value + _
4 * CheckBox3.Value + _
8 * CheckBox4.Value)
MsgBox "Result can be stored as " & L & chr(10) & _
"You can do a Select Case decision here. Or something like:"
For C = 1 To 4
MsgBox C & " is checked " & IsChosen(L, C)
Next
End Sub

Function IsChosen(L As Long, Pos As Long) As Boolean
IsChosen = ((2 ^ (Pos - 1)) And L)
End Function

--
HTH. Best wishes Harald
Followup to newsgroup only please

"Martin Los" skrev i melding
...
I have a Userform with 2 comboboxes (date and month), 4
checkboxes and 4 textboxes. Depending on the selection of
the 4 checkboxes I want to the 4 textboxes to represent
text (or not).

In total there are 14 posibilities of what needs to be
shown. How can I program with a VBA routine whether the
textboxes need to show a certain text, depending on
whether the checkboxes are true or false?

I want to prevent loads of if .. then structures like:
"If checkbox1 = true then
If checkbox2 = true then
If checkbox3 = true then
....
textBox1.Text = "Text1"
Else......"

1) Are boolean variables to check state of checkboxes
easier to use to get textboxes to represent text (or not)?

2) How can I get default text of comboboxes to be shown in
Textbox? If I have on Userform_Initialize():

combobox1.Value = Format(Ayer, "d")
combobox2.Value = Format(Ayer, "mmm")

and
textbox1.Text = combobox1.Value

Then on showing the userform, only the combobox values are
shown with dates, but not the textboxes.

Thanks in advance

Martin


Yours sincerely

Martin





All times are GMT +1. The time now is 05:53 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com