ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   remembering the nth item in one sub routine in the next sub routin (https://www.excelbanter.com/excel-programming/372455-remembering-nth-item-one-sub-routine-next-sub-routin.html)

Cammy

remembering the nth item in one sub routine in the next sub routin
 
I have a macro which has one sub routine running another sub routine, however
I want the n number I defined in the first sub routine to be rembered in the
next sub routine.

ie
Dim Asset(1 To 19) As String 'Camilla EDITED coding
Asset(1) = "Eurostoxx 50"
Asset(2) = "Nasdaq 100"

Dim n As Integer
For n = 1 To 19
Worksheets(Asset(n)).Activate
CloseDay MyDay, MyMonth, MyYear
Next n

then in the next sub routine I am trying to switch between workbooks and
worksheets
ie Workbooks("Trade Files").Worksheets(Asset(n)).Activate

but I need it to remember the the (Asset(n)) from the previous sub routine.

Can anyone help?


Gary''s Student

remembering the nth item in one sub routine in the next sub routin
 
If you want a variable to be available (global) to several Subs, then declare
it above all the subs in the module.
--
Gary's Student


"Cammy" wrote:

I have a macro which has one sub routine running another sub routine, however
I want the n number I defined in the first sub routine to be rembered in the
next sub routine.

ie
Dim Asset(1 To 19) As String 'Camilla EDITED coding
Asset(1) = "Eurostoxx 50"
Asset(2) = "Nasdaq 100"

Dim n As Integer
For n = 1 To 19
Worksheets(Asset(n)).Activate
CloseDay MyDay, MyMonth, MyYear
Next n

then in the next sub routine I am trying to switch between workbooks and
worksheets
ie Workbooks("Trade Files").Worksheets(Asset(n)).Activate

but I need it to remember the the (Asset(n)) from the previous sub routine.

Can anyone help?


Cammy

remembering the nth item in one sub routine in the next sub ro
 
Even when I define

Dim n As Integer
Dim Asset(1 To 19) As String
Asset(1) = "Eurostoxx 50"
Asset(2) = "Nasdaq 100"

At the beginning of the sub routine, the macro still get stuck on the coding:


Workbooks("Trade Files").Worksheets(Asset(n)).Activate

do you know why?

"Gary''s Student" wrote:

If you want a variable to be available (global) to several Subs, then declare
it above all the subs in the module.
--
Gary's Student


"Cammy" wrote:

I have a macro which has one sub routine running another sub routine, however
I want the n number I defined in the first sub routine to be rembered in the
next sub routine.

ie
Dim Asset(1 To 19) As String 'Camilla EDITED coding
Asset(1) = "Eurostoxx 50"
Asset(2) = "Nasdaq 100"

Dim n As Integer
For n = 1 To 19
Worksheets(Asset(n)).Activate
CloseDay MyDay, MyMonth, MyYear
Next n

then in the next sub routine I am trying to switch between workbooks and
worksheets
ie Workbooks("Trade Files").Worksheets(Asset(n)).Activate

but I need it to remember the the (Asset(n)) from the previous sub routine.

Can anyone help?


Cammy

remembering the nth item in one sub routine in the next sub ro
 
sorry I forgot to say I don't want the variables defined for all sub routines
just the two that are relevant.

"Cammy" wrote:

Even when I define

Dim n As Integer
Dim Asset(1 To 19) As String
Asset(1) = "Eurostoxx 50"
Asset(2) = "Nasdaq 100"

At the beginning of the sub routine, the macro still get stuck on the coding:


Workbooks("Trade Files").Worksheets(Asset(n)).Activate

do you know why?

"Gary''s Student" wrote:

If you want a variable to be available (global) to several Subs, then declare
it above all the subs in the module.
--
Gary's Student


"Cammy" wrote:

I have a macro which has one sub routine running another sub routine, however
I want the n number I defined in the first sub routine to be rembered in the
next sub routine.

ie
Dim Asset(1 To 19) As String 'Camilla EDITED coding
Asset(1) = "Eurostoxx 50"
Asset(2) = "Nasdaq 100"

Dim n As Integer
For n = 1 To 19
Worksheets(Asset(n)).Activate
CloseDay MyDay, MyMonth, MyYear
Next n

then in the next sub routine I am trying to switch between workbooks and
worksheets
ie Workbooks("Trade Files").Worksheets(Asset(n)).Activate

but I need it to remember the the (Asset(n)) from the previous sub routine.

Can anyone help?


Cammy

remembering the nth item in one sub routine in the next sub ro
 
Also if I do define Asset(1) , Asset(2) at the top of the all subs in the
procedure it says it is an invalid procedure.

"Cammy" wrote:

Even when I define

Dim n As Integer
Dim Asset(1 To 19) As String
Asset(1) = "Eurostoxx 50"
Asset(2) = "Nasdaq 100"

At the beginning of the sub routine, the macro still get stuck on the coding:


Workbooks("Trade Files").Worksheets(Asset(n)).Activate

do you know why?

"Gary''s Student" wrote:

If you want a variable to be available (global) to several Subs, then declare
it above all the subs in the module.
--
Gary's Student


"Cammy" wrote:

I have a macro which has one sub routine running another sub routine, however
I want the n number I defined in the first sub routine to be rembered in the
next sub routine.

ie
Dim Asset(1 To 19) As String 'Camilla EDITED coding
Asset(1) = "Eurostoxx 50"
Asset(2) = "Nasdaq 100"

Dim n As Integer
For n = 1 To 19
Worksheets(Asset(n)).Activate
CloseDay MyDay, MyMonth, MyYear
Next n

then in the next sub routine I am trying to switch between workbooks and
worksheets
ie Workbooks("Trade Files").Worksheets(Asset(n)).Activate

but I need it to remember the the (Asset(n)) from the previous sub routine.

Can anyone help?


Cammy

remembering the nth item in one sub routine in the next sub ro
 
I have decided that it is best to define it globally but I have defined it
using another letter k so that all other n's in other subroutines are not
affected.
Thanks gary!

"Cammy" wrote:

Also if I do define Asset(1) , Asset(2) at the top of the all subs in the
procedure it says it is an invalid procedure.

"Cammy" wrote:

Even when I define

Dim n As Integer
Dim Asset(1 To 19) As String
Asset(1) = "Eurostoxx 50"
Asset(2) = "Nasdaq 100"

At the beginning of the sub routine, the macro still get stuck on the coding:


Workbooks("Trade Files").Worksheets(Asset(n)).Activate

do you know why?

"Gary''s Student" wrote:

If you want a variable to be available (global) to several Subs, then declare
it above all the subs in the module.
--
Gary's Student


"Cammy" wrote:

I have a macro which has one sub routine running another sub routine, however
I want the n number I defined in the first sub routine to be rembered in the
next sub routine.

ie
Dim Asset(1 To 19) As String 'Camilla EDITED coding
Asset(1) = "Eurostoxx 50"
Asset(2) = "Nasdaq 100"

Dim n As Integer
For n = 1 To 19
Worksheets(Asset(n)).Activate
CloseDay MyDay, MyMonth, MyYear
Next n

then in the next sub routine I am trying to switch between workbooks and
worksheets
ie Workbooks("Trade Files").Worksheets(Asset(n)).Activate

but I need it to remember the the (Asset(n)) from the previous sub routine.

Can anyone help?


Zone

remembering the nth item in one sub routine in the next sub ro
 
Why not just pass the variables to the second routine?
Sub Macro1()
Dim n As Integer
Dim Asset(1 To 19) As String
Asset(1) = "Eurostoxx 50"
Asset(2) = "Nasdaq 100"
'other stuff here
Macro2 Asset(1), Asset(2), n
End Sub
Sub Macro2(myAsset1 as string, myAsset2 as string, myN as integer)
'your stuff
End Sub

James

Sub Macro1
Dim
Cammy wrote:
I have decided that it is best to define it globally but I have defined it
using another letter k so that all other n's in other subroutines are not
affected.
Thanks gary!

"Cammy" wrote:

Also if I do define Asset(1) , Asset(2) at the top of the all subs in the
procedure it says it is an invalid procedure.

"Cammy" wrote:

Even when I define

Dim n As Integer
Dim Asset(1 To 19) As String
Asset(1) = "Eurostoxx 50"
Asset(2) = "Nasdaq 100"

At the beginning of the sub routine, the macro still get stuck on the coding:


Workbooks("Trade Files").Worksheets(Asset(n)).Activate

do you know why?

"Gary''s Student" wrote:

If you want a variable to be available (global) to several Subs, then declare
it above all the subs in the module.
--
Gary's Student


"Cammy" wrote:

I have a macro which has one sub routine running another sub routine, however
I want the n number I defined in the first sub routine to be rembered in the
next sub routine.

ie
Dim Asset(1 To 19) As String 'Camilla EDITED coding
Asset(1) = "Eurostoxx 50"
Asset(2) = "Nasdaq 100"

Dim n As Integer
For n = 1 To 19
Worksheets(Asset(n)).Activate
CloseDay MyDay, MyMonth, MyYear
Next n

then in the next sub routine I am trying to switch between workbooks and
worksheets
ie Workbooks("Trade Files").Worksheets(Asset(n)).Activate

but I need it to remember the the (Asset(n)) from the previous sub routine.

Can anyone help?




All times are GMT +1. The time now is 03:35 PM.

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