Global variables - where do you place them?
Dim srcProgramDataInputWs As Worksheet
is declared within you sub so it is local to that sub - not global
Global variable are declared at the top of a general module before any
procedure
Public SrcProgramDataInputWs as Worksheet
However, if you want to use the global version in your sub, you would have
to remove the declaration in the sub.
--
Regards,
Tom Ogilvy
"CRayF" wrote in message
...
OK I'm still trying to get a handle on the VBA methodology,
I've now created some "global" subroutines that are not in Module3 and are
called by the worksheet modules.
I have more than one Sub() in the module3. Many share the same variables
"Dim srcProgramDataInputWs As Worksheet" as an example.
Where do I define Global variables that can be used throughout anywhere in
the module. What about a variable that can be used anywhere in any
worksheet?
This is what I have in one of my modules:
Sub ReBuildProgramSummary(Optional Confirm As Boolean = True)
'
'------------------------------------------------------------------------
' Re-Build Program Summary Template
'------------------------------------------------------------------------
'------- Main File Names used for this WorkBOOK ---------------
'--*** Use Program Input Worksheet as a Master for changes ***
'--------------------------------------------------------------
Dim srcProgramDataInputWs As Worksheet
Dim srcProgramSummaryTemplateWs As Worksheet
Dim srcProgramSummaryWs As Worksheet
Dim srcBettingTemplateWs As Worksheet
Set srcProgramSummaryTemplateWs = Sheets("@TemplateProgramSummary")
Set srcProgramSummaryWs = Sheets("ProgramSummary")
Set srcBettingTemplateWs = Sheets("@TempleteBetting")
Set srcProgramDataInputWs = Sheets("ProgramDataInput")
'--------------------------------------------------------------
'------- Set Variables to Workbook Names ---------------
'--*** Use Program Input Worksheet as a Master for changes ***
'--------------------------------------------------------------
If ActiveSheet.Name = srcProgramSummaryTemplateWs.Name Then
MsgBox "Can't run from Template"
Range("N3").Select
Exit Sub
End If
...more
|