Home |
Search |
Today's Posts |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
It sounds like a name conflict (perhaps Lib is declared more than once?).
Also- as Don suggests, I would not use a public variable as a control for a For loop. Reason is if the second Sub modifies the variable it messes up your For loop. Even if you try using parameter passing: Public Lib As Long Sub test() For Lib = 1 To 10 Call Test2(Lib) Next Lib End Sub Sub Test2(x As Long) x = x + 1 Debug.Print Lib End Sub VBA, by default, passes parameters By Reference (ByRef). In the above example, x is another name for Lib - so any change to x changes Lib. You can pass By Value (ByVal) to avoid this, but I would avoid using referencing my control variable in any other sub. "J@Y" wrote: I declared a public variable "Lib" in Module1. I have a For loop in Module 1 using "Lib" : For Lib = 1to 10 ...(code) ... Next In the (code) section, I call Module2. When Module2 calls the Lib variable, gives me the ambiguous variable error. Is this because the For statement actually declares Lib as a procedural variable instead of using it as a public variable? |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Accessing Public variable in different modules | Excel Programming | |||
Public, Private, Event modules, Forms modules,,, | Excel Programming | |||
Calling Add-In subroutines from other modules | Excel Programming | |||
calling modules | Excel Programming | |||
variable calling in different modules. | Excel Programming |