ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Function variables (https://www.excelbanter.com/excel-programming/296619-function-variables.html)

Todd huttenstine

Function variables
 
hey guys I have a function and need to preserve its value
once the function ends. I need to store this value as a
variable in another module. Is this possible?


Todd Huttenstine

Frank Kabel

Function variables
 
Hi
just call your function from the other fucntion/procedure and store the
result in a variable. e.g.

Sub foo()
dim ret_value
ret_value = do_calculate(5)
msgbox ret_value
end sub

function do_calculate(i)
do_calculate = i*2
end function

--
Regards
Frank Kabel
Frankfurt, Germany

"Todd Huttenstine" schrieb im
Newsbeitrag ...
hey guys I have a function and need to preserve its value
once the function ends. I need to store this value as a
variable in another module. Is this possible?


Todd Huttenstine



Bob Phillips[_6_]

Function variables
 
Can't you just run the function again?

If not, save the result as a Module scope variable.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"Todd Huttenstine" wrote in message
...
hey guys I have a function and need to preserve its value
once the function ends. I need to store this value as a
variable in another module. Is this possible?


Todd Huttenstine




Harald Staff

Function variables
 
Hi Todd

Like this ?

Function MyL(FinalDigit As Long) As Long
MyL = Second(Now) * 1000 + FinalDigit
End Function

Sub test()
Dim L As Long
L = MyL(3)
MsgBox L
MsgBox "Other things inbetween"
MsgBox L, , "Still here :-)"
End Sub

HTH. Best wishes Harald

"Todd Huttenstine" skrev i melding
...
hey guys I have a function and need to preserve its value
once the function ends. I need to store this value as a
variable in another module. Is this possible?


Todd Huttenstine




Todd huttenstine

Function variables
 
I cant get this to work. heres what I did...

Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" ( _
ByVal lpBuffer As String, nSize As Long) As Long

Public Sub WindowsUserName()
Dim UName As String * 255
Dim nn
Dim L As Long: L = 255
Dim Res As Long
Res = GetUserName(UName, L)
UName = Left$(UName, L - 1)
nn = Trim(UName)
End Sub



-----Original Message-----
Can't you just run the function again?

If not, save the result as a Module scope variable.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"Todd Huttenstine"

wrote in message
...
hey guys I have a function and need to preserve its

value
once the function ends. I need to store this value as a
variable in another module. Is this possible?


Todd Huttenstine



.


Frank Kabel

Function variables
 
Hi
and what's your problem. 'nn' contains the Windows user name which you
could check with an added statement like
msgbox nn


--
Regards
Frank Kabel
Frankfurt, Germany

"Todd Huttenstine" schrieb im
Newsbeitrag ...
I cant get this to work. heres what I did...

Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" ( _
ByVal lpBuffer As String, nSize As Long) As Long

Public Sub WindowsUserName()
Dim UName As String * 255
Dim nn
Dim L As Long: L = 255
Dim Res As Long
Res = GetUserName(UName, L)
UName = Left$(UName, L - 1)
nn = Trim(UName)
End Sub



-----Original Message-----
Can't you just run the function again?

If not, save the result as a Module scope variable.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"Todd Huttenstine"

wrote in message
...
hey guys I have a function and need to preserve its

value
once the function ends. I need to store this value as a
variable in another module. Is this possible?


Todd Huttenstine



.



Todd Htutenstine

Function variables
 
Because the username function is in another module and I
need to reference variable nn.
-----Original Message-----
Hi
and what's your problem. 'nn' contains the Windows user

name which you
could check with an added statement like
msgbox nn


--
Regards
Frank Kabel
Frankfurt, Germany

"Todd Huttenstine"

schrieb im
Newsbeitrag ...
I cant get this to work. heres what I did...

Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" ( _
ByVal lpBuffer As String, nSize As Long) As Long

Public Sub WindowsUserName()
Dim UName As String * 255
Dim nn
Dim L As Long: L = 255
Dim Res As Long
Res = GetUserName(UName, L)
UName = Left$(UName, L - 1)
nn = Trim(UName)
End Sub



-----Original Message-----
Can't you just run the function again?

If not, save the result as a Module scope variable.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the

Purbecks
(remove nothere from the email address if mailing

direct)

"Todd Huttenstine"


wrote in message
...
hey guys I have a function and need to preserve its

value
once the function ends. I need to store this value

as a
variable in another module. Is this possible?


Todd Huttenstine


.


.


Frank Kabel

Function variables
 
Hi Todd
why not create an additional function like

Public Function Get_Str_UserName()
Dim UName As String * 255
Dim nn
Dim L As Long: L = 255
Dim Res As Long
Res = GetUserName(UName, L)
UName = Left$(UName, L - 1)
nn = Trim(UName)
Get_Str_UserName = nn
End Function

Now call this function from your other module.
Another option would be to create a public variable and initialize this
variable in the workbook_open event. But I'd prefer using a function
like shjown above for this

--
Regards
Frank Kabel
Frankfurt, Germany

"Todd Htutenstine" schrieb im
Newsbeitrag ...
Because the username function is in another module and I
need to reference variable nn.
-----Original Message-----
Hi
and what's your problem. 'nn' contains the Windows user

name which you
could check with an added statement like
msgbox nn


--
Regards
Frank Kabel
Frankfurt, Germany

"Todd Huttenstine"

schrieb im
Newsbeitrag ...
I cant get this to work. heres what I did...

Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" ( _
ByVal lpBuffer As String, nSize As Long) As Long

Public Sub WindowsUserName()
Dim UName As String * 255
Dim nn
Dim L As Long: L = 255
Dim Res As Long
Res = GetUserName(UName, L)
UName = Left$(UName, L - 1)
nn = Trim(UName)
End Sub



-----Original Message-----
Can't you just run the function again?

If not, save the result as a Module scope variable.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the

Purbecks
(remove nothere from the email address if mailing

direct)

"Todd Huttenstine"


wrote in message
...
hey guys I have a function and need to preserve its
value
once the function ends. I need to store this value

as a
variable in another module. Is this possible?


Todd Huttenstine


.


.




All times are GMT +1. The time now is 03:02 AM.

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