call a procedure using current inputs
this is a very simple example of a much bigger pair of subs. i need to use
variables set in main sub w/in the called upon second sub. example: Sub Macro1() For i = 1 To 3 tabpick = "page " & i Call macro2 Next i End Sub Sub macro2() MsgBox "you are on " & tabpick End Sub it should result in a series of 3 msgbox's that say: 'you are on page 1', 'you are on page 2', 'you are on page 3' is it possible for a called upon sub to remember the variable at hand without re-establishing all my variables? these variables set in 1st sub take up tons of code to calculate, so it is not feasible to re-calc every time. also, the code in the 2nd and subsequent subs is quite involved. I have thought about a function vs. sub, but the inputs are so many. any other ideas? thanks, mike allen |
call a procedure using current inputs
Hi Mike
Just pass whatever you need passed from one to another, like this: Sub Test1() Dim S As String S = InputBox("Now what ?") Call Test2(S, Now) End Sub Sub Test2(What As String, D As Date) MsgBox "At " & D & " You said " & What & _ ". Please wait for the police.", vbInformation End Sub HTH. Best wishes Harald "mike allen" skrev i melding ... this is a very simple example of a much bigger pair of subs. i need to use variables set in main sub w/in the called upon second sub. example: Sub Macro1() For i = 1 To 3 tabpick = "page " & i Call macro2 Next i End Sub Sub macro2() MsgBox "you are on " & tabpick End Sub it should result in a series of 3 msgbox's that say: 'you are on page 1', 'you are on page 2', 'you are on page 3' is it possible for a called upon sub to remember the variable at hand without re-establishing all my variables? these variables set in 1st sub take up tons of code to calculate, so it is not feasible to re-calc every time. also, the code in the 2nd and subsequent subs is quite involved. I have thought about a function vs. sub, but the inputs are so many. any other ideas? thanks, mike allen |
call a procedure using current inputs
i think i did figure a way to use functions as opposed to subs after all:
Sub Macro1() For i = 1 To 3 tabpick = "page " & i macro2(tabpick) Next i End Sub function macro2() MsgBox "you are on " & tabpick End Sub i would still like to be able to call other subs (that have way too many inputs to create a function with) using current variables. thanks, mike allen "mike allen" wrote in message ... this is a very simple example of a much bigger pair of subs. i need to use variables set in main sub w/in the called upon second sub. example: Sub Macro1() For i = 1 To 3 tabpick = "page " & i Call macro2 Next i End Sub Sub macro2() MsgBox "you are on " & tabpick End Sub it should result in a series of 3 msgbox's that say: 'you are on page 1', 'you are on page 2', 'you are on page 3' is it possible for a called upon sub to remember the variable at hand without re-establishing all my variables? these variables set in 1st sub take up tons of code to calculate, so it is not feasible to re-calc every time. also, the code in the 2nd and subsequent subs is quite involved. I have thought about a function vs. sub, but the inputs are so many. any other ideas? thanks, mike allen |
All times are GMT +1. The time now is 12:26 PM. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com