About Me Me is a reserved name (you can`t have a variable by that name) that refers to something that can only exist at run-time in a procedure`s scope: the current object . Under the hood, when you make a member call to DoSomething against a Class1 object, the call goes essentially like this: Set obj = New Class1 Class1.DoSomething obj This means DoSomething looks like this in VBA: Public Sub DoSomething() End Sub But VBA sees it like this: Public Sub DoSomething(ByVal Me As Class1) End Sub That makes Me an implicit locally-scoped ByVal parameter of type Class1 , and inside the DoSomething scope it holds a reference to whatever object the caller is currently using. on Code Review Stack Exchange, 2015-2021 (Office Apps & Services), 2018-
©