Set object with a function

J

James

Hello, Can I do something like this.....?
............
Dim MyTextBox as Textbox
TxtBoxNum = 3
Set MyTextBox = SetTheTextBoxFunc(TxtBoxNum)
............
Public Function SetTheTextBoxFunc(num as integer) as Textbox
select case num
case 1
SetTheTextBoxFunc = SLNX.Textbox1
case 2
SetTheTextBoxFunc = SLNX.Textbox2
case 3
SetTheTextBoxFunc = SLNX.Textbox3
end select
end function
...............
SLNX is a form with a bunch of textboxes. Thanks for any help. Cant quite
figure this out.
 
D

Dave Peterson

This line:

Dim myTextBox as TextBox
is declaring myTextBox as a textbox from the Drawing toolbar (placed on a sheet,
not used in a userform).

Try:

dim myTextBox as msforms.textbox

Same with the function definition:

Public Function SetTheTextBoxFunc(num as integer) as MSForms.Textbox

=======
But if you've named the textboxes nicely, you could even drop the function and
just use something like:

Option Explicit
Private Sub CommandButton1_Click()
Dim myTextBox As MSForms.TextBox
Dim iCtr As Long
iCtr = 3 'for instance
Set myTextBox = Me.Controls("Textbox" & iCtr)
End Sub
 
J

James

Thanks, "MSForms.Textbox" was the key. I didnt try "OLEObject"
I've setup naming like that before (your 2nd example) but it unfortunatly
wouldn't work in this case. Thank you for the resolution!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top