Variable Control Names

  • Thread starter Thread starter Garry Jones
  • Start date Start date
G

Garry Jones

Within a user form I am trying to reduce the amount of code needed to
enter text into text box

I have two text boxes. TextBox1 and TextBox2

When Command Button 1 is clicked I want the result
TextBox1.Text = "This is my test text"

When Command Button 2 is clicked I want the result
TextBox2.Text = "This is my test text"

But I wish to use the same piece of code for both examples.

I am missing something here. This is my test example.

_____________________________________________________________

Private Sub CommandButton1_Click()
setar (1)
'when Command Button 1 is clicked it sends the number 1 as a variable to
the code
End Sub
_____________________________________________________________

Private Sub CommandButton2_Click()
setar (2)
'when Command Button 2 is clicked it sends the number 2 as a variable to
the code
End Sub
_____________________________________________________________

Private Sub setar(ArgValue As Integer)
TextBoxArgValue.Text = "This is my test text"
'Missing something here
End Sub

Bottom Line
-----------

How do I get Argvalue to place itself between the x of TextBoxand the .

?

On a similar note, how do I add this number mid text?

When Command Button 1 is clicked I want the result
TextBox1.Text = "This is my test 1 text"

When Command Button 2 is clicked I want the result
TextBox2.Text = "This is my test 2 text"



Garry Jones
Sweden

PS, Yes I know I can get the same effect by using unique code in each
command button control. But I have 198 command buttons so I want to use
the same code 198 times.
 
Garry,

Try this for a start:

'--------
Private Sub setar(ArgValue As Integer)
Dim boxName As String
boxName = "Textbox" & ArgValue
Me.Controls(boxName).Value = boxName
End Sub
'--------

HTH
Anders Silvén
 
Try this:

Private Sub CommandButton1_Click()
setar (1)
'when Command Button 1 is clicked it sends the number 1 as a variable to
the code
End Sub
_____________________________________________________________

Private Sub CommandButton2_Click()
setar (2)
'when Command Button 2 is clicked it sends the number 2 as a variable to
the code
End Sub
_____________________________________________________________

Private Sub setar(ArgValue as Integer)
UserForm1.Controls("TextBox" & ArgValue).Text = "This is my test text"
'Missing something here
End Sub

Let me know if that doesn't work.

Mark
 
Mark said:
Let me know if that doesn't work.

It worked, thanks. (Thanks to Anders as well).

Okay, next problem, similar.

I want to decide which worksheet to name with a variable

What am I missing here?

____________________________________________

Private Sub CommandButton1_Click()
setar (1)
'when Command Button 1 is clicked it sends the number 1 as a variable to
the code
End Sub
____________________________________________

Private Sub setar(ArgValue as Integer)
("Sheet" & ArgValue).Name = "NewName"
'Missing something here
End Sub
____________________________________________

What I want from the code is is

Sheet1.Name = "NewName"

Garry Jones
 
Here's one way:

'-------
Sub setar(ArgValue As Integer)
Worksheets("Sheet" & ArgValue).Name = "NewName"
End Sub
'-------

HTH
Anders Silvén
 
Back
Top