How do you plan to recognize a correct path?
Sometimes it's easier to start with a possible Path and see if it exists.
http://gwicks.net/dictionaries.htm
to avoid reusing a grid Cell
Dim CellUsed(1 to 4, 1 to 4) As Boolean
set array Item True when corresponding Grid cell is used