Calling procedures with the same name
You can call a procedure located in any module in the same project as the active module just as you would call a procedure in the active module. However, if two or more modules contain a procedure with the same name, you must specify a module name in the calling statement, as shown in the following example:
Sub Main()
Module1.MyProcedure
End Sub
If you give the same name to two different procedures in two different projects, you must specify a project name when you call that procedure. For example, the following procedure calls the Main
procedure in the MyModule
module in the MyProject.vbp
project.
Sub Main()
[MyProject.vbp].[MyModule].Main
End Sub
Note
Different applications have different names for a project. For example, in Microsoft Access, a project is called a database (.mdb); in Microsoft Excel, it's a workbook (.xls).
Tip
- If you rename a module or project, be sure to change the module or project name wherever it appears in calling statements; otherwise, Visual Basic will not be able to find the called procedure. Use the Replace command on the Edit menu to find and replace text in a module.
- To avoid naming conflicts among referenced projects, give your procedures unique names so you can call a procedure without specifying a project or module.
See also
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.