View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Otto Moehrbach[_2_] Otto Moehrbach[_2_] is offline
external usenet poster
 
Posts: 1,071
Default Event macro does not run a Private sub

Bob
Do you have that right? I have the following in my HowTo file:
"You don't need to put private in front of each sub. You can type Option
Private Module at the top of the module and all the macros within that
module will be Private."
What you are saying seems to be the opposite except for the "visible" part.
Thanks for your time. Otto
"Bob Phillips" wrote in message
...
Or add

Option Private Module

to the module declaration, it will then be exposed to all modules, but not
'seen' from Excel.

--
__________________________________
HTH

Bob

"Otto Moehrbach" wrote in message
...
Chip
Thanks for that. There is no end to this learning thing. I thought
"Private" simply hid that macro from the Tools - Macro - Macros list.
I'll go back to passing a dummy value to hide the macro. Thanks again.
Otto
"Chip Pearson" wrote in message
...
The Private declaration indicates that the procedure is not visible to
code outside the module in which the procedure is defined. So, if you
have UpdateAll in a module other than the ThisWorkbook module and it
is marked Private, it won't be found. When you use neither Public nor
Private in a regular code module, Public is the default.

Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)

On Sat, 18 Oct 2008 17:44:40 -0400, "Otto Moehrbach"
wrote:

Excel XP & Win XP
I have a simple BeforeSave macro:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Call UpdateAll
End Sub

The UpdateAll macro is a Private macro as:
Private Sub UpdateAll()
'Stuff
End Sub

The event macro errored out as not being able to find the sub. When I
removed the "Private" in the first line of the UpdateAll macro, it
worked
fine.
Why is that? Thanks for your time. Otto