ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   control the Visible Property on sections of a UserForm with a macro (https://www.excelbanter.com/excel-programming/429262-control-visible-property-sections-userform-macro.html)

[email protected]

control the Visible Property on sections of a UserForm with a macro
 
I have userforms, each with 8 pairs of radio buttons (Yes-No
options). In many cases, the user will not need all eight sets -
perhaps only six of the eight apply, for example. Therefore I would
like to hide different pairs of the radio buttons, depending on input
from the user before the userform is loaded.

Each pair of buttons is inside of a frame, and the title for the
buttons is a text box that draws the title from other entries made by
the user.

Can I make the frame invisible and thereby everything inside of the
frame as well? That would be ideal, but I have no idea how to
structure a macro to change the property of the frame (or to change
the properties of the textbox and/or radio buttons).

For example, if I want to hide the two radio buttons and text box
inside of frame 7, depending on an integer that was selected in an
earlier part of the program, the concept would be;

If Integer1=1 then UserForm4, Frame 7 visible = false
If Integer1=2 then userform4.frame7.visible=true.

Is there a way to do this? Thanks for the assistance. I am lost here.

Peter T

control the Visible Property on sections of a UserForm with a macro
 
Your code is almost right. You didn't say where Integer1 is, what changes
its value, and when it should toggle visibility of the frame.

Lets say Integer1 is a public in a normal module and set before the form
loads

Private Sub UserForm_Initialize()
Me.Frame7.Visible = (Integer1 = 2)
End Sub


or maybe you might want to control it from as you load the form

Sub test()
Dim Integer1 As Long

Integer1 = 0
' form loads into memory 1st time it's referenced
UserForm1.Frame7.Visible = (Integer1 = 2)
UserForm1.Show

End Sub

Personally, rather than Integer1 = 1 or 2, why not 0 or 1. Perhaps a Boolean
flag
bOptions7 = True/False

Regards,
Peter T


wrote in message
...
I have userforms, each with 8 pairs of radio buttons (Yes-No
options). In many cases, the user will not need all eight sets -
perhaps only six of the eight apply, for example. Therefore I would
like to hide different pairs of the radio buttons, depending on input
from the user before the userform is loaded.

Each pair of buttons is inside of a frame, and the title for the
buttons is a text box that draws the title from other entries made by
the user.

Can I make the frame invisible and thereby everything inside of the
frame as well? That would be ideal, but I have no idea how to
structure a macro to change the property of the frame (or to change
the properties of the textbox and/or radio buttons).

For example, if I want to hide the two radio buttons and text box
inside of frame 7, depending on an integer that was selected in an
earlier part of the program, the concept would be;

If Integer1=1 then UserForm4, Frame 7 visible = false
If Integer1=2 then userform4.frame7.visible=true.

Is there a way to do this? Thanks for the assistance. I am lost here.




RJQMAN[_2_]

control the Visible Property on sections of a UserForm with amacro
 
On Jun 2, 4:21*am, "Peter T" <peter_t@discussions wrote:
Your code is almost right. You didn't say where Integer1 is, what changes
its value, and when it should toggle visibility of the frame.

Lets say Integer1 is a public in a normal module and set before the form
loads

Private Sub UserForm_Initialize()
* * Me.Frame7.Visible = (Integer1 = 2)
End Sub

or maybe you might want to control it from as you load the form

Sub test()
Dim Integer1 As Long






Integer1 = 0
' form loads into memory 1st time it's referenced
UserForm1.Frame7.Visible = (Integer1 = 2)
UserForm1.Show

End Sub

Personally, rather than Integer1 = 1 or 2, why not 0 or 1. Perhaps a Boolean
flag
bOptions7 = True/False

Regards,
Peter T

wrote in message

...



I have userforms, each with 8 pairs of radio buttons (Yes-No
options). * In many cases, the user will not need all eight sets -
perhaps only six of the eight apply, for example. *Therefore I would
like to hide different pairs of the radio buttons, depending on input
from the user before the userform is loaded.


Each pair of buttons is inside of a frame, and the title for the
buttons is a text box that draws the title from other entries made by
the user.


Can I make the frame invisible and thereby everything inside of the
frame as well? *That would be ideal, but I have no idea how to
structure a macro to change the property of the frame (or to change
the properties of the textbox and/or radio buttons).


For example, if I want to hide the two radio buttons and text box
inside of frame 7, depending on an integer that was selected in an
earlier part of the program, the concept would be;


If Integer1=1 then UserForm4, Frame 7 visible = false
If Integer1=2 then userform4.frame7.visible=true.


Is there a way to do this? *Thanks for the assistance. *I am lost here.- Hide quoted text -


- Show quoted text -



Wow. That works very well. Thank you for your help. I greatly
appreciate it. Have a wonderful day.


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

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