This documentation is archived and is not being maintained.

Calling Procedures with the Same Name

This page is specific to the Visual Basic for Applications (VBA) Language Reference for Office 2010.

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 

NoteNote

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)

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

Show: