Passing Variables within For loops to other modules

T

tomjermy

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 Before:=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
 
D

Dave Peterson

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).
 

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

Similar Threads

Modules not being deleted 10

Top