The bigger problem is that normally an unqualified use of Cells refers to the active sheet and thus returns a range (i.e. ActiveSheet.Cells) containing all of the cells on that active sheet (as long as the active sheet is a worksheet).
If your own variable called cells is in scope then it will take precedence over the global use of Cells. As both refer to a Range object there won't be any syntax errors - just difficult to find semantic ones.
I would rename the variable cells to something totally different instead. After that if Excel still changes Cells to cells then the suggestions in the link reafidy supplied above should help