That line could return an error, if the value was not numeric.

I tested it, but i get an error on the line:
Num = Range("G11:I11").Value

I had to change it to
Num = Range("G11").Value
to get it to work.

You can't assign the value of 3 cells to a single variable, even if the cells are merged. You could assign it to a variant, but that would result in an array.
You have used this on many places, so you would have to change it everywhere.
There are many more errors in your code and in your logic, but I will leave these to you.