ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Selecting control on userform with part of control name (set question) (https://www.excelbanter.com/excel-programming/380710-selecting-control-userform-part-control-name-set-question.html)

Keith

Selecting control on userform with part of control name (set question)
 
I have a select case statement, in which I determine which group of controls
("a", "b", "c", ..."j") I need to update (groups include radiobuttons,
checkboxes, etc.); e.g., group "a" includes cb_a, opt_a1T, opt_a1F, opt_a2T,
opt_A2F, etc.


Without looping through all controls (that would be a lot of extra
searching, with one full loop for each control) I'd like to be able to set
the control references dynamically, e.g.

Select Case
Case "Green"
Use_group = "a"
End Select

Set current_opt = "opt_" & Use_group & "1T" '<<<
current_opt.value = false

Can anyone point me to the correct syntax to directly select a control based
on control name?

Many thanks,
Keith



Alok

Selecting control on userform with part of control name (set quest
 
Use this
OLEObjects(current_opt).object.value

"Keith" wrote:

I have a select case statement, in which I determine which group of controls
("a", "b", "c", ..."j") I need to update (groups include radiobuttons,
checkboxes, etc.); e.g., group "a" includes cb_a, opt_a1T, opt_a1F, opt_a2T,
opt_A2F, etc.


Without looping through all controls (that would be a lot of extra
searching, with one full loop for each control) I'd like to be able to set
the control references dynamically, e.g.

Select Case
Case "Green"
Use_group = "a"
End Select

Set current_opt = "opt_" & Use_group & "1T" '<<<
current_opt.value = false

Can anyone point me to the correct syntax to directly select a control based
on control name?

Many thanks,
Keith




Keith

Selecting control on userform with part of control name (set quest
 
What settings (references, etc) do I need to use OLEObjects?
Thanks!!
Keith

"Alok" wrote in message
...
Use this
OLEObjects(current_opt).object.value

"Keith" wrote:

I have a select case statement, in which I determine which group of
controls
("a", "b", "c", ..."j") I need to update (groups include radiobuttons,
checkboxes, etc.); e.g., group "a" includes cb_a, opt_a1T, opt_a1F,
opt_a2T,
opt_A2F, etc.


Without looping through all controls (that would be a lot of extra
searching, with one full loop for each control) I'd like to be able to
set
the control references dynamically, e.g.

Select Case
Case "Green"
Use_group = "a"
End Select

Set current_opt = "opt_" & Use_group & "1T" '<<<
current_opt.value = false

Can anyone point me to the correct syntax to directly select a control
based
on control name?

Many thanks,
Keith






Keith

Selecting control on userform with part of control name (set question)
 
Another general update; I think I'm closer, but still no dice-

I have 10 textboxes on userform1 named E1, E2, E3, etc. I want the
textbox.text (E1.text, etc.) to reflect the contents of an array

For z = 1 To 10
CurrObj = "E" & CStr(z) 'control string name
UserForm1.Controls(CurrObj).Text = CStr(EdArray(ShortEd,
z))
Next

I get error 438, object doesn't support this property or method

This is one of several sets of controls I want to update, but if I can get
one working, I can probably work out the rest- I'm just having trouble with
the syntax...

Thanks,
Keith

"Keith" wrote in message
...
I have a select case statement, in which I determine which group of
controls ("a", "b", "c", ..."j") I need to update (groups include
radiobuttons, checkboxes, etc.); e.g., group "a" includes cb_a, opt_a1T,
opt_a1F, opt_a2T, opt_A2F, etc.


Without looping through all controls (that would be a lot of extra
searching, with one full loop for each control) I'd like to be able to set
the control references dynamically, e.g.

Select Case
Case "Green"
Use_group = "a"
End Select

Set current_opt = "opt_" & Use_group & "1T" '<<<
current_opt.value = false

Can anyone point me to the correct syntax to directly select a control
based on control name?

Many thanks,
Keith




Keith

Selecting control on userform with part of control name (set q
 
Thanks Alok- I'll give it a try!
:)
Keith

"Alok" wrote in message
...
This might help you..
Dim z%, CurrObj$, EdArray$(1 To 5)
Dim t As msforms.TextBox
Dim cnt As Control

EdArray(1) = "a"
EdArray(2) = "b"
EdArray(3) = "c"
EdArray(4) = "d"
EdArray(5) = "e"

For Each cnt In Controls
If TypeOf cnt Is msforms.TextBox Then
Set t = cnt
z = Mid$(cnt.Name, 2)
If Mid$(cnt.Name, 1) = "E" And z = LBound(EdArray) And z <=
UBound(EdArray) Then
t.Text = CStr(EdArray(z))
End If
End If
Next cnt


"Keith" wrote:

Another general update; I think I'm closer, but still no dice-

I have 10 textboxes on userform1 named E1, E2, E3, etc. I want the
textbox.text (E1.text, etc.) to reflect the contents of an array

For z = 1 To 10
CurrObj = "E" & CStr(z) 'control string name
UserForm1.Controls(CurrObj).Text =
CStr(EdArray(ShortEd,
z))
Next

I get error 438, object doesn't support this property or method

This is one of several sets of controls I want to update, but if I can
get
one working, I can probably work out the rest- I'm just having trouble
with
the syntax...

Thanks,
Keith

"Keith" wrote in message
...
I have a select case statement, in which I determine which group of
controls ("a", "b", "c", ..."j") I need to update (groups include
radiobuttons, checkboxes, etc.); e.g., group "a" includes cb_a, opt_a1T,
opt_a1F, opt_a2T, opt_A2F, etc.


Without looping through all controls (that would be a lot of extra
searching, with one full loop for each control) I'd like to be able to
set
the control references dynamically, e.g.

Select Case
Case "Green"
Use_group = "a"
End Select

Set current_opt = "opt_" & Use_group & "1T" '<<<
current_opt.value = false

Can anyone point me to the correct syntax to directly select a control
based on control name?

Many thanks,
Keith








All times are GMT +1. The time now is 10:53 AM.

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