Module 1
  Public LastWS as String

Sheet 3
(Activate Event)
   LastWS = Me.Codename

Sheet 2
(Activate Event)
  LastWS = Me.Codename

Sheet 1
(Activate Event)
 Sheet1.Range("A3").Value = LastWS.Range("A2").Value

And yes the value of LastWS exists before the activate event occurs for Sheet1.

I have even tried cstr() with Sheets() and then Worksheets(LastWS) but nothing I try works. Everything gets thrown a subscript error. I need to use a variable to reference the worksheet by string because the last active sheet changes and that value determines what happens next.

Bear in mind the reference to the object will be inside a for/next loop as well. Thank you.