Me <keyword>

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

The Me keyword behaves like an implicitly declared variable. It is automatically available to every procedure in a class module. When a class can have more than one instance, Me provides a way to refer to the specific instance of the class where the code is executing. Using Me is particularly useful for passing information about the currently executing instance of a class to a procedure in another module. For example, suppose you have the following procedure in a module:

Sub ChangeFormColor(FormName As Form) 
 FormName.BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256) 
End Sub 

You can call this procedure and pass the current instance of the Form class as an argument using the following statement:

ChangeFormColor Me