ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   VBA defining variables (https://www.excelbanter.com/excel-discussion-misc-queries/53621-vba-defining-variables.html)

Jeff

VBA defining variables
 
Hi

I have the code below. I set JJ=33, and I need Macro5 and Macro6 to use the
variable JJ. But when it goes into those macros JJ is empty. Do you know
how to fix this?

Sub TestMacro2()
Dim JJ As Double
JJ = 33
Call Macro5
Call Macro6
End Sub

Thanks for your help

bpeltzer

VBA defining variables
 
Because the variable is declared inside the sub TestMacro2, its 'scope' is
limited to that sub. to make it more widely available you can either declare
it outside the sub (making it 'global', which is easy but not appreciated by
the programming gurus) or make it an argument to Macro5 and Macro6 (ex:
declare Sub Macro6(InputVar as double) ... End Sub, and call that as
Macro6(JJ33).
--Bruce
(BTW, to find such errors earlier, you should set VBA to require that
variables be declared; 'Option Explicit' should appear at the beginning of
each module).


"Jeff" wrote:

Hi

I have the code below. I set JJ=33, and I need Macro5 and Macro6 to use the
variable JJ. But when it goes into those macros JJ is empty. Do you know
how to fix this?

Sub TestMacro2()
Dim JJ As Double
JJ = 33
Call Macro5
Call Macro6
End Sub

Thanks for your help


Dave Peterson

VBA defining variables
 
One way is to pass the value:

Sub TestMacro2()
Dim JJ As Double
JJ = 33
Call Macro5(jj)
Call Macro6(jj)
End Sub

sub macro5(myVal as double)
msgbox myVal
end sub

sub macro6(myothervalue as double)
msgbox myothervalue
end sub



Jeff wrote:

Hi

I have the code below. I set JJ=33, and I need Macro5 and Macro6 to use the
variable JJ. But when it goes into those macros JJ is empty. Do you know
how to fix this?

Sub TestMacro2()
Dim JJ As Double
JJ = 33
Call Macro5
Call Macro6
End Sub

Thanks for your help


--

Dave Peterson


All times are GMT +1. The time now is 06:21 AM.

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