ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   UserForm Pointers & Class Modules (https://www.excelbanter.com/excel-programming/393490-userform-pointers-class-modules.html)

Bart[_6_]

UserForm Pointers & Class Modules
 
Hello,

On module level of an UserForm there's a variable declared as a
certain Class (User Defined). When passing a pointer of this UserForm
to a Subroutine in a Module and try to access the variable by this
pointer, it says the Object doesn't support this Property or Method.

Why can't I access the variable by using a pointer of a UserForm?

Example:

[General]
Public myObject as myClass

[Sub]
Public mySub(ByRef myPointer as MSForms.UserForm)
myPointer.myObject.myProperty = "myValue"
End Sub

Regards,
Bart


NickHK

UserForm Pointers & Class Modules
 
Bart,
It will work if you pass it like this instead:

Public Sub PassRefTest(SomeForm As YourUserFom)
SomeForm.myObject.myProperty = "myValue"
End Sub

NickHK

"Bart" wrote in message
oups.com...
Hello,

On module level of an UserForm there's a variable declared as a
certain Class (User Defined). When passing a pointer of this UserForm
to a Subroutine in a Module and try to access the variable by this
pointer, it says the Object doesn't support this Property or Method.

Why can't I access the variable by using a pointer of a UserForm?

Example:

[General]
Public myObject as myClass

[Sub]
Public mySub(ByRef myPointer as MSForms.UserForm)
myPointer.myObject.myProperty = "myValue"
End Sub

Regards,
Bart




Bart[_6_]

UserForm Pointers & Class Modules
 
Thanks again NickHK!

Somewhere I can see the logic of it, but wouldn't ever think of
assigning this kind of Type!

What about passing an other UserForm than 'YourUserForm'? And then
which specifications does this UseForm need to have? Does it minimal
needs to have the Variables declared at module level which eventually
are used in the procedure?

Bart


NickHK

UserForm Pointers & Class Modules
 
Yes, basically.
You could try passing a generic Object in the argument, although then you
will lose all Intellisense.

NickHK

"Bart" wrote in message
oups.com...
Thanks again NickHK!

Somewhere I can see the logic of it, but wouldn't ever think of
assigning this kind of Type!

What about passing an other UserForm than 'YourUserForm'? And then
which specifications does this UseForm need to have? Does it minimal
needs to have the Variables declared at module level which eventually
are used in the procedure?

Bart





All times are GMT +1. The time now is 02:11 PM.

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