 <p>Only <code>functions</code> (and <code>subs</code>) can be referenced by <code>Set functionReference = GetRef("myFunction")</code> but not objects.</p> <p>When you want to have a string reference, you have to create one with each object you would want to refer to. You can use a dictionary for that:</p> <pre><code>Dim foo, bar Dim StringObjectReference : Set StringObjectReference = CreateObject("Scripting.Dictionary") ' Lets create some objects Set foo = CreateObject("System.Collections.ArrayList") Set bar = CreateObject("Scripting.Dictionary") ' Register the objects for referral, now we can reference them by string! StringObjectReference.Add "foo", foo StringObjectReference.Add "bar", bar ' Manipulate the objects through their string reference StringObjectReference("foo").Add "BMW" StringObjectReference("foo").Add "Chrysler" StringObjectReference("foo").Add "Audi" StringObjectReference("foo").Sort StringObjectReference("bar").Add "Bikes", array("Honda", "Thriumph") StringObjectReference("bar").Add "Quads", array("Honda", "Kawasaki", "BMW") ' Retrieve values from the objects ' real: msgbox "My Cars: " &amp; join(foo.ToArray(), ", ") msgbox "My Bikes: " &amp; join(bar("Bikes"), ", ") msgbox "My Quads: " &amp; join(bar("Quads"), ", ") ' From reference msgbox "My Cars: " &amp; join(StringObjectReference("foo").ToArray(), ", ") msgbox "My Bikes: " &amp; join(StringObjectReference("bar").Item("Bikes"), ", ") ' Shorthand notation (without item) msgbox "My Quads: " &amp; join(StringObjectReference("bar")("Quads"), ", ") </code></pre>