When you execute a for next loop it will increment the number first and then check to see if it should continue.

For a = 1 To 47
ICheck7(a) = a
Next a

a will turn 48 and then check to see if it >= to 1 or <=47

What line of code are you getting the error on?