Calling Procedures with the Same Name

Microsoft VBA Tips

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 called a workbook (.xls)

Tips for Calling Procedures

  • 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. You can 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.