Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 17
Default Initialize a Private variable

I have a private variable:

Private outlookDate As Date

How can I set the value of this variable before I run any macros?


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Initialize a Private variable

You can do it in the workbook_Open event

Private Sub Workbook_Open()
OutLookDate = DateSerial(Year(Date),Month(Date)+6,1)
End Sub

Place this in the ThisWorkbook Module

See Chip Pearson's page on events
http://www.cpearson.com/excel/events.htm


Or just set it in your first macro that is to run.

--
Regards,
Tom Ogilvy


"jerry chapman" wrote in message
m...
I have a private variable:

Private outlookDate As Date

How can I set the value of this variable before I run any macros?




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 252
Default Initialize a Private variable

Tom,

If the variable in declared as Private, I was under the impression that it's
value diappears at the end of the procedure in which you set the value. If
this is the case, the OP would have to reset the value in any other sub where
he wanted to use the variable.

I have always thought that if the OP wanted to set the value as you did in
the Workbook_Open event for use somewhere else, then the variable would have
to be declared Public

Am I confused?

"Tom Ogilvy" wrote:

You can do it in the workbook_Open event

Private Sub Workbook_Open()
OutLookDate = DateSerial(Year(Date),Month(Date)+6,1)
End Sub

Place this in the ThisWorkbook Module

See Chip Pearson's page on events
http://www.cpearson.com/excel/events.htm


Or just set it in your first macro that is to run.

--
Regards,
Tom Ogilvy


"jerry chapman" wrote in message
m...
I have a private variable:

Private outlookDate As Date

How can I set the value of this variable before I run any macros?





  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Initialize a Private variable

Thanks for pointing that out.

Actually, I didn't actually correctly see how he declared it.

Sometimes you look and see what you expect, not what is actually there.

I was talking about a public/global variable.

If it is private, but declared at the top of the module, it is only visible
to the procedures in the module. If it is declared in a procedure, it is
visible only to that procedure and as you say would go out of scope when the
procedure ended.

So to the OP,
you would use the workbook_Open event to call a procedure in that module
that initializes the variable. Otherwise, you might reexamine what you are
trying to achieve.

--
Regards,
Tom Ogilvy



"gocush" /delete wrote in message
...
Tom,

If the variable in declared as Private, I was under the impression that

it's
value diappears at the end of the procedure in which you set the value.

If
this is the case, the OP would have to reset the value in any other sub

where
he wanted to use the variable.

I have always thought that if the OP wanted to set the value as you did in
the Workbook_Open event for use somewhere else, then the variable would

have
to be declared Public

Am I confused?

"Tom Ogilvy" wrote:

You can do it in the workbook_Open event

Private Sub Workbook_Open()
OutLookDate = DateSerial(Year(Date),Month(Date)+6,1)
End Sub

Place this in the ThisWorkbook Module

See Chip Pearson's page on events
http://www.cpearson.com/excel/events.htm


Or just set it in your first macro that is to run.

--
Regards,
Tom Ogilvy


"jerry chapman" wrote in message
m...
I have a private variable:

Private outlookDate As Date

How can I set the value of this variable before I run any macros?







  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 17
Default Initialize a Private variable

I tried the following code, but it didn't seem to be called:

Public Sub Workbook_Open()
maxOutlookDate = "02/02/2005"
MsgBox "maxoutlookdate " & maxOutlookDate
End Sub
What did I do wrong?
"Tom Ogilvy" wrote in message
...
Thanks for pointing that out.

Actually, I didn't actually correctly see how he declared it.

Sometimes you look and see what you expect, not what is actually there.

I was talking about a public/global variable.

If it is private, but declared at the top of the module, it is only

visible
to the procedures in the module. If it is declared in a procedure, it is
visible only to that procedure and as you say would go out of scope when

the
procedure ended.

So to the OP,
you would use the workbook_Open event to call a procedure in that module
that initializes the variable. Otherwise, you might reexamine what you

are
trying to achieve.

--
Regards,
Tom Ogilvy



"gocush" /delete wrote in message
...
Tom,

If the variable in declared as Private, I was under the impression that

it's
value diappears at the end of the procedure in which you set the value.

If
this is the case, the OP would have to reset the value in any other sub

where
he wanted to use the variable.

I have always thought that if the OP wanted to set the value as you did

in
the Workbook_Open event for use somewhere else, then the variable would

have
to be declared Public

Am I confused?

"Tom Ogilvy" wrote:

You can do it in the workbook_Open event

Private Sub Workbook_Open()
OutLookDate = DateSerial(Year(Date),Month(Date)+6,1)
End Sub

Place this in the ThisWorkbook Module

See Chip Pearson's page on events
http://www.cpearson.com/excel/events.htm


Or just set it in your first macro that is to run.

--
Regards,
Tom Ogilvy


"jerry chapman" wrote in message
m...
I have a private variable:

Private outlookDate As Date

How can I set the value of this variable before I run any macros?











  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Initialize a Private variable

did you put it in the thisworkbook module?

It always works for me when I do that.

Assumes you are not opening your workbook with code triggered by a shortcut
key combination that includes Shift and you haven't disabled events.

--
Regards,
Tom Ogilvy

"jerry chapman" wrote in message
m...
I tried the following code, but it didn't seem to be called:

Public Sub Workbook_Open()
maxOutlookDate = "02/02/2005"
MsgBox "maxoutlookdate " & maxOutlookDate
End Sub
What did I do wrong?
"Tom Ogilvy" wrote in message
...
Thanks for pointing that out.

Actually, I didn't actually correctly see how he declared it.

Sometimes you look and see what you expect, not what is actually there.

I was talking about a public/global variable.

If it is private, but declared at the top of the module, it is only

visible
to the procedures in the module. If it is declared in a procedure, it

is
visible only to that procedure and as you say would go out of scope when

the
procedure ended.

So to the OP,
you would use the workbook_Open event to call a procedure in that module
that initializes the variable. Otherwise, you might reexamine what you

are
trying to achieve.

--
Regards,
Tom Ogilvy



"gocush" /delete wrote in message
...
Tom,

If the variable in declared as Private, I was under the impression

that
it's
value diappears at the end of the procedure in which you set the

value.
If
this is the case, the OP would have to reset the value in any other

sub
where
he wanted to use the variable.

I have always thought that if the OP wanted to set the value as you

did
in
the Workbook_Open event for use somewhere else, then the variable

would
have
to be declared Public

Am I confused?

"Tom Ogilvy" wrote:

You can do it in the workbook_Open event

Private Sub Workbook_Open()
OutLookDate = DateSerial(Year(Date),Month(Date)+6,1)
End Sub

Place this in the ThisWorkbook Module

See Chip Pearson's page on events
http://www.cpearson.com/excel/events.htm


Or just set it in your first macro that is to run.

--
Regards,
Tom Ogilvy


"jerry chapman" wrote in message
m...
I have a private variable:

Private outlookDate As Date

How can I set the value of this variable before I run any macros?











Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Private Sub Running Other Private Sub Inadvertently Ross Culver Excel Programming 2 February 10th 05 07:17 PM
Initialize variable hotherps[_128_] Excel Programming 2 August 26th 04 02:38 PM
Qn: Define a variable in Initialize for Userform Michael Vaughan Excel Programming 4 August 21st 04 12:10 PM
Generic questions about variable scope the Initialize event TBA[_2_] Excel Programming 4 January 12th 04 03:42 PM
Initialize data in new row? Ken[_12_] Excel Programming 1 August 9th 03 05:13 PM


All times are GMT +1. The time now is 04:48 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"