Puedes probar a hacer lo siguiente:
'Crear una macro que te busque el producto en la hoja correspondiente. ¿Ya la tienes?
'Una vez que se encuentra el producto, supongamos por referencia de articulo, la cual está en la columna A, entonces:
'Activamos la celda en cuestión y luego...
Si las unidades del articulo que pongamos que están en la columna c son cero...
if activecell.offset(0,2).value=0 then
ActiveCell.Select ' selecciona la celda
Selection.Locked = False ' la marca como desbloqueada
Selection.FormulaHidden = False
Activecell.Select ' selecciona la celda que desees dejar bloqueada
Selection.Locked = True ' bloquea las celda seleccionada
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True ' la protege
Prueba algo parecidoa esto y nos cuentas.