Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi all,
Is there any way to pass an object (created from a custom Class) by Value in VBA..? I have tried using the ByVal keyword in my procedure but the object is still being passed by reference (the original object is modified in the procedure code). Here's my code: For the Class module (called Test): Private classVar1 As String Property Get Number() As String Number = classVar1 End Property Property Let Number(ByVal newvalue As String) classVar1 = newvalue End Property In the main Module: Private Test1 As Test Private Sub Initiate() Set Test1 = New Test Let Test1.Number = "1" Call AnotherSub(Test1) MsgBox Test1.Number 'Shows 2 not 1 even though it should be passed ByVal, not ByRef End Sub Private Sub AnotherSub(ByVal t As Test) Let t.Number = "2" End Sub How do I force VBA to pass this Class ByVal or can't it be done..? Thanks, Lyndon. |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Working with the range object | Excel Discussion (Misc queries) | |||
Working with a Range object | Excel Programming | |||
Pass a form Listbox as an object | Excel Programming | |||
fileformat not working with Object | Excel Programming | |||
How to pass valve in combobox object to cell | Excel Programming |