Stats
75,604
reputation 4.3m
reached 869
answers 157
questions Loading…
About
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.
Moderator (retired) on Code Review Stack Exchange, 2015-2021
Microsoft MVP (Office Apps & Services), 2018-2022
Badges
View all badges 469
bronze badges
- asp.netSep 28, 2016
- dependency-injectionJun 1, 2016
- error-handlingMar 31, 2016
Top tags
View all tagsTop Meta posts
88
260


