ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   pass value to excel userform - is there a constructor? how to pass (https://www.excelbanter.com/excel-programming/395415-pass-value-excel-userform-there-constructor-how-pass.html)

Rich

pass value to excel userform - is there a constructor? how to pass
 
In my Excel app I have a button on a worksheet which opens a UserForm. I
need to pass a value to the userform. I was thinking the Initialize event of
the userform operated similar to a constructor. So I tried passing a value
as follows - which did not work:

frm1.Show "test1"

------------------------------------
Private Sub frm1_Initialize(s1 as string)
debug.print s1
End Sub

how to pass a value to the userform from the calling control?

Thanks,
Rich

Bob Phillips

pass value to excel userform - is there a constructor? how to pass
 
With frm1
.Initialize "test1"
.Show
End With

Private Sub Initialize(s1 as string)
debug.print s1
End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"Rich" wrote in message
...
In my Excel app I have a button on a worksheet which opens a UserForm. I
need to pass a value to the userform. I was thinking the Initialize event
of
the userform operated similar to a constructor. So I tried passing a
value
as follows - which did not work:

frm1.Show "test1"

------------------------------------
Private Sub frm1_Initialize(s1 as string)
debug.print s1
End Sub

how to pass a value to the userform from the calling control?

Thanks,
Rich




Jim Thomlinson

pass value to excel userform - is there a constructor? how to pass
 
That sure would be nice but alas it is just not to be. You can not pass an
argument to a userfrom. Instead you need to store the value and have the
userform read the value when it initializes.
--
HTH...

Jim Thomlinson


"Rich" wrote:

In my Excel app I have a button on a worksheet which opens a UserForm. I
need to pass a value to the userform. I was thinking the Initialize event of
the userform operated similar to a constructor. So I tried passing a value
as follows - which did not work:

frm1.Show "test1"

------------------------------------
Private Sub frm1_Initialize(s1 as string)
debug.print s1
End Sub

how to pass a value to the userform from the calling control?

Thanks,
Rich


Jim Thomlinson

pass value to excel userform - is there a constructor? how to
 
Well that is one way to get a value into a user form. Hadn't thought of doing
that. Very Nifty! One thing though... Doesn't your procedure need to be
public?

--
HTH...

Jim Thomlinson


"Bob Phillips" wrote:

With frm1
.Initialize "test1"
.Show
End With

Private Sub Initialize(s1 as string)
debug.print s1
End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"Rich" wrote in message
...
In my Excel app I have a button on a worksheet which opens a UserForm. I
need to pass a value to the userform. I was thinking the Initialize event
of
the userform operated similar to a constructor. So I tried passing a
value
as follows - which did not work:

frm1.Show "test1"

------------------------------------
Private Sub frm1_Initialize(s1 as string)
debug.print s1
End Sub

how to pass a value to the userform from the calling control?

Thanks,
Rich





Rich

pass value to excel userform - is there a constructor? how to pass
 
Thank you all for your replies. Yes, I was not able to pass an arg directly
to Initialize. But I did get the idea to use the keyword public. Then I
implemented

Public Property Let Init(s1 as String)
....
End Property


This did work.

frm1.Init = "test"
frm1.Show

This compiled and displayed the text "test" after opening frm1.

Thanks all for the replies.

Rich

"Rich" wrote:

In my Excel app I have a button on a worksheet which opens a UserForm. I
need to pass a value to the userform. I was thinking the Initialize event of
the userform operated similar to a constructor. So I tried passing a value
as follows - which did not work:

frm1.Show "test1"

------------------------------------
Private Sub frm1_Initialize(s1 as string)
debug.print s1
End Sub

how to pass a value to the userform from the calling control?

Thanks,
Rich


Bob Phillips

pass value to excel userform - is there a constructor? how to
 
Of course it does. Thanks for the heads up.

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"Jim Thomlinson" wrote in message
...
Well that is one way to get a value into a user form. Hadn't thought of
doing
that. Very Nifty! One thing though... Doesn't your procedure need to be
public?

--
HTH...

Jim Thomlinson


"Bob Phillips" wrote:

With frm1
.Initialize "test1"
.Show
End With

Private Sub Initialize(s1 as string)
debug.print s1
End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my
addy)

"Rich" wrote in message
...
In my Excel app I have a button on a worksheet which opens a UserForm.
I
need to pass a value to the userform. I was thinking the Initialize
event
of
the userform operated similar to a constructor. So I tried passing a
value
as follows - which did not work:

frm1.Show "test1"

------------------------------------
Private Sub frm1_Initialize(s1 as string)
debug.print s1
End Sub

how to pass a value to the userform from the calling control?

Thanks,
Rich







Bob Phillips

pass value to excel userform - is there a constructor? how to pass
 
That is the same principle as my suggestion. A form is just a specific
instance of a class, so you can do anything with it that you do with a
class.

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"Rich" wrote in message
...
Thank you all for your replies. Yes, I was not able to pass an arg
directly
to Initialize. But I did get the idea to use the keyword public. Then I
implemented

Public Property Let Init(s1 as String)
...
End Property


This did work.

frm1.Init = "test"
frm1.Show

This compiled and displayed the text "test" after opening frm1.

Thanks all for the replies.

Rich

"Rich" wrote:

In my Excel app I have a button on a worksheet which opens a UserForm. I
need to pass a value to the userform. I was thinking the Initialize
event of
the userform operated similar to a constructor. So I tried passing a
value
as follows - which did not work:

frm1.Show "test1"

------------------------------------
Private Sub frm1_Initialize(s1 as string)
debug.print s1
End Sub

how to pass a value to the userform from the calling control?

Thanks,
Rich





All times are GMT +1. The time now is 09:52 PM.

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