Pass a variable back to the host script?

M

mb

How do I pass the end result of a subroutine back to the host script? In
the example below I would like the next_week to come back to the
Pull_Forward.

Public Sub Pull_Forward()

num = InputBox("Enter the range (in calendar days) you wish to include
in the Pull Forward Calculation: ")
Call Module1.current_date(num)
Call Module1.Pull_Fwd


End Sub

Private Sub current_date(num)
today = Date
today = Format(today, "mm/dd")
next_week = DateAdd("d", num, today)
next_week = Format(next_week, "mm/dd")
MsgBox (next_week)
End Sub

Thanks,
mb
 
J

Jim Thomlinson

Instead os a sub you are better off with a function. Functions return values
where as subs perform actions. Sum is a function. It returns the sum of the
input numbers. So your function will look like this...

Public Sub Pull_Forward()
dim strWeek as string
num = InputBox("Enter the range (in calendar days) you wish to include
in the Pull Forward Calculation: ")
strWeek = Module1.current_date(num)
Call Module1.Pull_Fwd
End Sub

Private Function current_date(byval num as integer) as string
today = Date
today = Format(today, "mm/dd")
next_week = DateAdd("d", num, today)
next_week = Format(next_week, "mm/dd")
current_date = next_week
End Sub
 
M

mb

thanks.

Jim Thomlinson said:
Instead os a sub you are better off with a function. Functions return values
where as subs perform actions. Sum is a function. It returns the sum of the
input numbers. So your function will look like this...

Public Sub Pull_Forward()
dim strWeek as string
num = InputBox("Enter the range (in calendar days) you wish to include
in the Pull Forward Calculation: ")
strWeek = Module1.current_date(num)
Call Module1.Pull_Fwd
End Sub

Private Function current_date(byval num as integer) as string
today = Date
today = Format(today, "mm/dd")
next_week = DateAdd("d", num, today)
next_week = Format(next_week, "mm/dd")
current_date = next_week
End Sub
 

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