ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Pass a variable back to the host script? (https://www.excelbanter.com/excel-programming/344192-pass-variable-back-host-script.html)

mb

Pass a variable back to the host script?
 
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



Jim Thomlinson[_4_]

Pass a variable back to the host script?
 
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


--
HTH...

Jim Thomlinson


"mb" wrote:

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




mb

Pass a variable back to the host script? (Resolved)
 
thanks.

"Jim Thomlinson" wrote in message
...
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


--
HTH...

Jim Thomlinson


"mb" wrote:

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







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

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