VBA - Function Output

G

Guest

Hi,

I posted this question earlier but I think I was unclear.

I am trying to use a function (maybe it is technically a macro - I dont
know)- here is my problem.

The function has 3 "input" variables declared as doubles, and based on these
values the function assigns values to 3 output "variables". The output
variables are declared inside the function - so I just want to get them -
without declaring global variables.

So in the code below I want to get variables "var1, var2, var3" - since they
are the result of the TestFunction.


Sub MainTest()
Dim get1 As Double
Dim get2 As Double
Dim get3 As Double

Call TestFunct1(1, 2, 3)

End Sub

Sub TestFunct1(X, Y, Z)
Dim var1 As Double
Dim var2 As Double
Dim var3 As Double

var1 = 1 * X
var2 = 2 * Y
var3 = 3 * Z

End Sub

Thanks for your help.
 
G

Guest

As my reply to your first posting:

Declare Var1 etc BEFORE Sub MainTest

Dim var1 As Double
Dim var2 As Double
Dim var3 As Double


Sub MainTest()

Call TestFunct1(1, 2, 3)
Debug.Print var1 & " " & var2 & " " & var3

End Sub

Sub TestFunct1(X, Y, Z)

var1 = 1 * X
var2 = 2 * Y
var3 = 3 * Z

End Sub
 
D

Dave Peterson

How about something like:

Option Explicit
Sub MainTest()
Dim get1 As Double
Dim get2 As Double
Dim get3 As Double

get1 = 1
get2 = 2
get3 = 3

Call TestFunct1(get1, get2, get3)

MsgBox get1 & vbLf & get2 & vbLf & get3
End Sub
Sub TestFunct1(ByRef x As Double, ByRef Y As Double, ByRef Z As Double)
x = 1 * x
Y = 2 * Y
Z = 3 * Z
End Sub

(ByRef is VBA's default and isn't required.)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top