ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   VBA Objects (https://www.excelbanter.com/excel-discussion-misc-queries/2527-vba-objects.html)

Kevin

VBA Objects
 
I need to take a string variable passed into a
subroutine, concatenate it with another string, and then
have this string represent an object name so I can
manipulate the Enabled and Value properties of the
already existing object.

Don Guillett

And the assignment is due when?

--
Don Guillett
SalesAid Software

"Kevin" wrote in message
...
I need to take a string variable passed into a
subroutine, concatenate it with another string, and then
have this string represent an object name so I can
manipulate the Enabled and Value properties of the
already existing object.





Not a class assignment, a work necessity. I've never
studied VBA formally -- learning it on the fly. I have
named all related controls (on a UserForm) with the same
ending. For instance, if I have a label and check box
that go together, they will be named lblXXX and chkXXX.
What I am trying to do is to write a generic subroutine
that would allow me to pass the value of XXX into the
subroutine, and the sub would add the lbl and chk
prefixes to the string and then manipulate the Enabled
and Value properties of those controls. This would be
much more efficient than what I'm writing now --
individual subroutines for each group of controls.

Thanks
-----Original Message-----
And the assignment is due when?

--
Don Guillett
SalesAid Software

"Kevin" wrote in message
...
I need to take a string variable passed into a
subroutine, concatenate it with another string, and

then
have this string represent an object name so I can
manipulate the Enabled and Value properties of the
already existing object.



.


Kevin

So am I to assume that what I'm asking isn't possible?
-----Original Message-----
And the assignment is due when?

--
Don Guillett
SalesAid Software

"Kevin" wrote in message
...
I need to take a string variable passed into a
subroutine, concatenate it with another string, and

then
have this string represent an object name so I can
manipulate the Enabled and Value properties of the
already existing object.



.


Jim Cone

Kevin,

Maybe something like the following...
'-------------------------------
Private Sub CheckBox1_Click()
ThisIsATest (CheckBox1.Name)
End Sub

Private Sub Label1_Click()
ThisIsATest (Label1.Name)
End Sub

Sub ThisIsATest(ByRef S As String)
MsgBox S
End Sub
'---------------------------------

Jim Cone
San Francisco, USA


"Kevin" wrote in message
...
So am I to assume that what I'm asking isn't possible?



Dave Peterson

I put this in a General module:

Option Explicit
Public myStr As String
Sub testme()
myStr = "xxx"
UserForm1.Show
End Sub


And this behind the userform1:

Option Explicit
Private Sub UserForm_Initialize()
Dim ctrl As Control
For Each ctrl In Me.Controls
With ctrl
If LCase(.Name) Like "*" & myStr Then
With ctrl
.Visible = True
.Enabled = False
End With
End If
End With
Next ctrl
End Sub

wrote:

Not a class assignment, a work necessity. I've never
studied VBA formally -- learning it on the fly. I have
named all related controls (on a UserForm) with the same
ending. For instance, if I have a label and check box
that go together, they will be named lblXXX and chkXXX.
What I am trying to do is to write a generic subroutine
that would allow me to pass the value of XXX into the
subroutine, and the sub would add the lbl and chk
prefixes to the string and then manipulate the Enabled
and Value properties of those controls. This would be
much more efficient than what I'm writing now --
individual subroutines for each group of controls.

Thanks
-----Original Message-----
And the assignment is due when?

--
Don Guillett
SalesAid Software

"Kevin" wrote in message
...
I need to take a string variable passed into a
subroutine, concatenate it with another string, and

then
have this string represent an object name so I can
manipulate the Enabled and Value properties of the
already existing object.



.


--

Dave Peterson

Kevin

Thanks - I'll give it a try!

Kevin
-----Original Message-----
I put this in a General module:

Option Explicit
Public myStr As String
Sub testme()
myStr = "xxx"
UserForm1.Show
End Sub


And this behind the userform1:

Option Explicit
Private Sub UserForm_Initialize()
Dim ctrl As Control
For Each ctrl In Me.Controls
With ctrl
If LCase(.Name) Like "*" & myStr Then
With ctrl
.Visible = True
.Enabled = False
End With
End If
End With
Next ctrl
End Sub

wrote:

Not a class assignment, a work necessity. I've never
studied VBA formally -- learning it on the fly. I have
named all related controls (on a UserForm) with the

same
ending. For instance, if I have a label and check box
that go together, they will be named lblXXX and chkXXX.
What I am trying to do is to write a generic subroutine
that would allow me to pass the value of XXX into the
subroutine, and the sub would add the lbl and chk
prefixes to the string and then manipulate the Enabled
and Value properties of those controls. This would be
much more efficient than what I'm writing now --
individual subroutines for each group of controls.

Thanks
-----Original Message-----
And the assignment is due when?

--
Don Guillett
SalesAid Software

"Kevin" wrote in message
...
I need to take a string variable passed into a
subroutine, concatenate it with another string, and

then
have this string represent an object name so I can
manipulate the Enabled and Value properties of the
already existing object.


.


--

Dave Peterson
.


Harald Staff

If I understand your question right:

Private Sub CommandButton1_Click()
'set chcABCD.value to False, and
'set txtABCD.text to Yo da man:
Call Test("ABCD")
End Sub

Sub Test(sName As String)
UserForm1.Controls("chc" & sName).Value = False
UserForm1.Controls("txt" & sName).Text = "Yo da man"
End Sub

HTH. Best wishes Harald

skrev i melding
...
Not a class assignment, a work necessity. I've never
studied VBA formally -- learning it on the fly. I have
named all related controls (on a UserForm) with the same
ending. For instance, if I have a label and check box
that go together, they will be named lblXXX and chkXXX.
What I am trying to do is to write a generic subroutine
that would allow me to pass the value of XXX into the
subroutine, and the sub would add the lbl and chk
prefixes to the string and then manipulate the Enabled
and Value properties of those controls. This would be
much more efficient than what I'm writing now --
individual subroutines for each group of controls.

Thanks
-----Original Message-----
And the assignment is due when?

--
Don Guillett
SalesAid Software

"Kevin" wrote in message
...
I need to take a string variable passed into a
subroutine, concatenate it with another string, and

then
have this string represent an object name so I can
manipulate the Enabled and Value properties of the
already existing object.



.




Kevin

Yo ABSOLUTELY da man! This was exactly what I was looking
for.

Thanks for the help.

Kevin


-----Original Message-----
If I understand your question right:

Private Sub CommandButton1_Click()
'set chcABCD.value to False, and
'set txtABCD.text to Yo da man:
Call Test("ABCD")
End Sub

Sub Test(sName As String)
UserForm1.Controls("chc" & sName).Value = False
UserForm1.Controls("txt" & sName).Text = "Yo da man"
End Sub

HTH. Best wishes Harald

skrev i melding
...
Not a class assignment, a work necessity. I've never
studied VBA formally -- learning it on the fly. I have
named all related controls (on a UserForm) with the

same
ending. For instance, if I have a label and check box
that go together, they will be named lblXXX and chkXXX.
What I am trying to do is to write a generic subroutine
that would allow me to pass the value of XXX into the
subroutine, and the sub would add the lbl and chk
prefixes to the string and then manipulate the Enabled
and Value properties of those controls. This would be
much more efficient than what I'm writing now --
individual subroutines for each group of controls.

Thanks
-----Original Message-----
And the assignment is due when?

--
Don Guillett
SalesAid Software

"Kevin" wrote in message
...
I need to take a string variable passed into a
subroutine, concatenate it with another string, and

then
have this string represent an object name so I can
manipulate the Enabled and Value properties of the
already existing object.


.



.



All times are GMT +1. The time now is 04:57 AM.

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