Click to See Complete Forum and Search --> : use same variables in different procedures
alexschiefert
Jul 8th, 2004, 09:38 AM
itīs me again..... ;-)
there is another problem:
i need to use variables i used in the first sub in the second sub too.
how can i manage this? itīs very important!
please help me!
thx, alex
Ecniv
Jul 8th, 2004, 10:01 AM
Its to do with scope (read up on it).
Two ways:
1) If you are coding in the same module (form module or normal module) then you need to declare the variables in that module. These variables can be accessed to that module only (private) but any sub/function in that module, or by the whole application/VBA project (public)
eg:
public strAString as string
public sub teststr()
msgbox strAString
end sub
2) You pass all variables required as parameters, including objects. Read up on Byref and ByVal
Example:
public sub test1()
'---- declare and set up lngValue and rst in here before using / calling the second sub
test2(lngValue,rst)
end sub
public sub test2(byval lngAValue as long, byref rst as adodb.recordset)
end sub
Vince
alexschiefert
Jul 9th, 2004, 02:02 AM
but i have two subs where i need to use the variables from the former sub in the one that comes later.
i declared the variables before any sub starts:
Public time As Integer
Public time1 As Integer
....and so on......
then:
Public timestring As String
Public timestring1 As String
Then the first Sub starts:
Public Sub DatenAnzeigen_Click()
here i set the values for the variables:
time=Workbooks(2).Worksheets("Zeiterfassung").Range("E9")
time1=------------------------------------------------------.Range("E10")
timestring=CStr(time)
timestring1=CStr(time1)
End Sub
Public Sub DatenAnzeigen2()
And here i need to use the variables declared in the former sub.
Have i made any mistakes?
please tell me
thx, alex
vbforums.com
Copyright Internet.com Inc., All Rights Reserved.