Isso pressupõe que começamos com a planilha desprotegida e todas as células não bloqueadas. Coloque a seguinte macro de eventos na área de código da planilha:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim B1 As Range, OtherBees As Range
Set B1 = Range("B1")
Set OtherBees = Range("B6,B9,B22,B50")
If Intersect(Target, B1) Is Nothing Then Exit Sub
ActiveSheet.Unprotect
Cells.Locked = False
Application.EnableEvents = False
If UCase(B1.Value) = "YES" Then
OtherBees.Value = "NO"
OtherBees.Locked = True
ActiveSheet.Protect
Else
ActiveSheet.Unprotect
OtherBees.Locked = False
OtherBees.ClearContents
End If
Application.EnableEvents = True
End Sub
Por ser um código de planilha, é muito fácil de instalar e usar automaticamente:
- clique com o botão direito do mouse no nome da guia próximo à parte inferior da janela do Excel
- selecione Exibir código - isso abre uma janela do VBE
- cole o material e feche a janela do VBE
Se você tiver alguma dúvida, tente primeiro em uma planilha de teste.
Se você salvar a pasta de trabalho, a macro será salva com ela.
Se você estiver usando uma versão do Excel posterior a 2003, deverá salvar
o arquivo como .xlsm em vez de .xlsx
Para remover a macro:
- abrir as janelas do VBE como acima
- limpe o código
- feche a janela do VBE
Para saber mais sobre macros em geral, consulte:
link
e
link
Para saber mais sobre macros de eventos (código da planilha), consulte:
link
As macros devem estar ativadas para que isso funcione!