ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Variable losing its value when calling new sub (https://www.excelbanter.com/excel-programming/342108-variable-losing-its-value-when-calling-new-sub.html)

jim37055[_3_]

Variable losing its value when calling new sub
 

Is there any way to keep a value in a variable when I call a new sub?

I have a the same variable name in the new sub, and I want to carr
over the value that I had in the first sub which is where I set th
value of the variable.

I am sure there is an easy answer to this, but I am just trying t
learn as I go here..... I may be in over my head.... :confused

--
jim3705
-----------------------------------------------------------------------
jim37055's Profile: http://www.excelforum.com/member.php...fo&userid=2778
View this thread: http://www.excelforum.com/showthread.php?threadid=47384


Tom Ogilvy

Variable losing its value when calling new sub
 
If the variable is declared in each sub, then these are two separate
variables only visible to their respective subs.

You can declare the variable one time as public at the top of the module and
use it in both subs (remove any other declarations)

Public MyVar as Variant

Sub Init_Myvar()
MyVar = int(rnd()*1000+1)
ShowMyVar
End Sub

sub ShowMyVar()
msgbox MyVar
End Sub

---------------------
or you can past the variable in between
--------------------
Sub Init_Myvar()
Dim MyVar as Variant
MyVar = int(rnd()*1000+1)
ShowMyVar MyVar
End Sub

Sub ShowMyVar(someVar as Variant)
msgbox someVar
End Sub

somVar is a place holder for the variable MyVar


--
Regards,
Tom Ogilvy

"jim37055" <jim37055
wrote in message
...

Is there any way to keep a value in a variable when I call a new sub?

I have a the same variable name in the new sub, and I want to carry
over the value that I had in the first sub which is where I set the
value of the variable.

I am sure there is an easy answer to this, but I am just trying to
learn as I go here..... I may be in over my head.... :confused:


--
jim37055
------------------------------------------------------------------------
jim37055's Profile:

http://www.excelforum.com/member.php...o&userid=27788
View this thread: http://www.excelforum.com/showthread...hreadid=473844




Jim Thomlinson[_4_]

Variable losing its value when calling new sub
 
You can pass variables as arguments...

Sub Test()
dim i as integer

i = 100
call DisplayI(i)
i = i + 50
call DisplayI(i)
end sub

sub DisplayI(byval i as Integer)
msgbox "The value of i is " & i
end sub
--
HTH...

Jim Thomlinson


"jim37055" wrote:


Is there any way to keep a value in a variable when I call a new sub?

I have a the same variable name in the new sub, and I want to carry
over the value that I had in the first sub which is where I set the
value of the variable.

I am sure there is an easy answer to this, but I am just trying to
learn as I go here..... I may be in over my head.... :confused:


--
jim37055
------------------------------------------------------------------------
jim37055's Profile: http://www.excelforum.com/member.php...o&userid=27788
View this thread: http://www.excelforum.com/showthread...hreadid=473844




All times are GMT +1. The time now is 11:23 AM.

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