First off, the easy solution as already mentioned by others:
ThisWorkbook.Sheets("January").Something
(string is case sensitive!)
There are multiple ways to reference a Sheet, and there are different types of names for worksheets. You have to differentiate between the "CodeName" and the "Name".
You will easily find more information on the difference between those two.
The main differences are, that the Name
can be changed by the user, it is the name visible on the tab at the bottom of the Excel Interface.
The CodeName
can only be changed through the VBA Interface.
The CodeName
and the Name
are usually identical when creating a worksheet (Sheet1, etc..).
To Reference a Sheet by Name you can use this code:
ThisWorkbook.Sheets("SomeName").SomeFunction()
The CodeName
can be used directly like this: Sheet2.SomeFunction()
, but I'd recommend changing the CodeName to something meaningful/expressive first!
(Name)
is the CodeName, Name
is the visible Name

More information on the Bang operator !
can be found here:
https://rubberduckvba.wordpress.com/2018/03/15/vba-trap-default-members/
Extensive Answer on referencing Sheets:
https://stackoverflow.com/a/41481428/10223558