Based on my interpretation of your case, I recommend that
* you code for the change event for worksheet A.
* If the changed area is your drop down selection and value = YES then Invoke the routine that runs on worksheet B to recalculate.
I hope this hint helps.