Put this in the sheet that has the manually changed cell so the code is triggered when you change that cell.
It will Lock\Unlock cells on "Sheet2".

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("A1"), Target) Is Nothing Then
        With Sheets("Sheet2")
            .Unprotect
            .Range("B30:C30").Locked = (.Range("A43").Value = 0)
            .Protect
        End With
    End If
End Sub