Is there a way to freeze or lock a cell based on the state of another cell?

For instance, I do not want to be able to change the value in B2 if A2 is a certain value.

Is there a way to do this without a macro?
if VBA is necessary, how would i do it?

thanks in advance

Josh