ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Passing Variables within For loops to other modules (https://www.excelbanter.com/excel-programming/371122-passing-variables-within-loops-other-modules.html)

tomjermy

Passing Variables within For loops to other modules
 

Hi.

I has a hugh piece of code which was too big to compile, so I have hav
had to split it off into separate modules. I keep on getting subscrip
out of range errors now.


Public I
Public p

Sub CreateMardakInput()

Application.ScreenUpdating = True

Sheets("AutoInput").Select
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.Delete

Sheets.Add.Name = "AutoInput"

Sheets("AutoInput").Move Befo=Sheets(1)
Sheets("AutoInput").Select

' Dim p As Integer
p = 2

For I = 1 To Sheets.Count
Sheets(I).Select
GoSub DoCopy
Next I

Exit Sub

DoCopy:

If Cells(1, 1) = "Sub-Contract Payment" Then ' If A1 = LO Templat
then:
' Test for name in box
link through if so
' for per subcontractor.
'Module3.PartOne (p)
'Module4.PartTwo (p)
'Module5.PartThree (p)
'Module6.PartFour (p)
'Module7.PartFive (p)

Call PartOne
Call PartTwo
Call PartThree
Call PartFour
Call PartFive

End If

Return

End Sub

For some reason the I variable is not picked up by the other modules.
have declared I & p as public in these modules. I am stuck.

Please help!

Thanks,
To

--
tomjerm
-----------------------------------------------------------------------
tomjermy's Profile: http://www.excelforum.com/member.php...fo&userid=2466
View this thread: http://www.excelforum.com/showthread.php?threadid=57419


Dave Peterson

Passing Variables within For loops to other modules
 
If you declared I in this main module and also declared I in each of the other
modules, then VBA will use the one closest to the code--within that same module.

Try removing the declarations from the other modules (Just declare it public one
time).

tomjermy wrote:

Hi.

I has a hugh piece of code which was too big to compile, so I have have
had to split it off into separate modules. I keep on getting subscript
out of range errors now.

Public I
Public p

Sub CreateMardakInput()

Application.ScreenUpdating = True

Sheets("AutoInput").Select
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.Delete

Sheets.Add.Name = "AutoInput"

Sheets("AutoInput").Move Befo=Sheets(1)
Sheets("AutoInput").Select

' Dim p As Integer
p = 2

For I = 1 To Sheets.Count
Sheets(I).Select
GoSub DoCopy
Next I

Exit Sub

DoCopy:

If Cells(1, 1) = "Sub-Contract Payment" Then ' If A1 = LO Template
then:
' Test for name in box &
link through if so
' for per subcontractor.
'Module3.PartOne (p)
'Module4.PartTwo (p)
'Module5.PartThree (p)
'Module6.PartFour (p)
'Module7.PartFive (p)

Call PartOne
Call PartTwo
Call PartThree
Call PartFour
Call PartFive

End If

Return

End Sub

For some reason the I variable is not picked up by the other modules. I
have declared I & p as public in these modules. I am stuck.

Please help!

Thanks,
Tom

--
tomjermy
------------------------------------------------------------------------
tomjermy's Profile: http://www.excelforum.com/member.php...o&userid=24666
View this thread: http://www.excelforum.com/showthread...hreadid=574197


--

Dave Peterson


All times are GMT +1. The time now is 08:57 AM.

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