I would also suggest setting Option Explicit.
If you do that it will tell you if you are using undeclared (or misspelt)
variables.
And move all your declarations (Dim and Const) to the top of the procedure.
It is very risky (IMO) using declarations inside a loop.
If you do put the declarations at the beginning you would need to make the
Consts ordinary variables (Dim) and then set the value of them inside the
loop.