ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Set object with a function (https://www.excelbanter.com/excel-programming/442683-set-object-function.html)

James

Set object with a function
 
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.

ozgrid.com

Set object with a function
 
Try;

Dim MyTextBox As OLEObject



--
Regards
Dave Hawley
www.ozgrid.com
"James" wrote in message
...
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.



Dave Peterson

Set object with a function
 
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


James wrote:

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.


--

Dave Peterson

James

Set object with a function
 
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!


"Dave Peterson" wrote:

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


James wrote:

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.


--

Dave Peterson
.



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

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