I think part of the problem is your worksheet change code. For instance,
on the sample worksheet B2:F14 are blank. Also,
You can correct part of the problem by turning off Event Handling in Button1 Click code:
You will have to carefully check your Change Event code, it should not be operating on cells like J4 that contain formulas. Also, you must turn off the Event Handling in the Sheet change code, if not every change made by the code will trigger the code to run from the top again and again.
Notice that, the way you have written your change event code, each and every if..end if statement block is checked for true/false every time the code is triggered. If you use SELECT CASE, the code will exit after the true case code is executed. Nothing below that one will be tested: