View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
JLGWhiz[_2_] JLGWhiz[_2_] is offline
external usenet poster
 
Posts: 1,565
Default Breaking User Form Code into modules question

P.S. If you need to call an event procedure from outside its host object
(i.e. UserForm or Sheet) then you probably did not need an event procedure
to begin with. It should have been written as a public Sub procedure and
then called by the event code if needed for the event, instead of the
reverse of trying to call an event procedure from a public code window.


"Brian" wrote in message
...
I was hoping to make all the modules Private Sub. I do not want them being
changed after I am done.

All the subs in the User Form are are Private. Can I just cut and paste
them
into a module and then in User Code Window call that Sub.

Private Sub Update_Installer_Forms_10_Click()
Call Update_Installer_Forms_10_Click() 'Macro1 located in
Module1
End Sub


"JLGWhiz" wrote:

Hi Brian,

1: My question is in the UserForm Code Window how do I refer to a module?

A1: You can call any procedure that is in the public modules (Module1,
Mocule2, etc.) from the UserForm code module. If you are using event
code
to respond to some user's interaction, then in the event code you would
call
the working procedure out of the public module:

Private Sub Listbox1_Click()
Call Macro1 'Macro1 located in Module1
End Sub

2: If the Code is to large can one Module call another module?
Something like User form Code calls Module 1 and at the end of module
1
code, it calls for module 2, etc...

A2: Yes, any public module can call from and respond to any other
public
module.
..
3: Most of my Code is With statements / End With then more code.

A3: So? That is just a style of writing code. I do not believe it
would influence whether the code can be called from another module or
not.

As a general rule, private procedures can call any public procedure, but
the
reverse is not necessarily true.


"Brian" wrote in message
...
I have a user form with alot of code in it. As of now all the code is in
the
Userform
Code window, but there is so much code that it's getting confusing. I
have
one Sub that is to large and needs to be split into several subs.

When I was done I was going to break all the Subs down into different
modules to clean it up. I guess I will have to do that now, but I am
not
sure
how to do it.

1: My question is in the UserForm Code Window how do I refer to a
module?
2: If the Code is to large can one Module call another module?
Something like User form Code calls Module 1 and at the end of
module 1
code, it calls for module 2, etc....
3: Most of my Code is With statements / End With then more code.


Here is an Example of the Code in the UserForm Code Window:
Private Sub Update_Installer_Forms_10_Click()

With Workbooks("Master Installer Forms.xlsm").Sheets("Install Pack
Con")
**Code for the sub is here**
End With

With Workbooks("Master Installer Forms.xlsm").Sheets("Install Chk
List")
**Code for the sub is here**
End With

End Sub

I really need to sort this out so it's not so confusing to work on. Can
anyone please help me or explain it in english to me.



.