Tenho três campos nas células A1, A2 e A3 no Excel. Todos os três campos são desbloqueados na primeira instância.
Se o usuário inserir um valor em A3 primeiro, A1 e A2 deverão ser desabilitados ou bloqueados.
Se o usuário inserir um valor em A1, então A2 deverá ser obrigatório, mas A3 será bloqueado ou desabilitado.
Em outras palavras, o usuário deve preencher A1 e A2, mas não A3, ou o usuário deve preencher A3, mas não A1 e A2. Isso pode ser conseguido no Excel usando IF e else?
Responder1
Siga esses passos:
Método 1:
- Selecione Células
A1:A2
ou que você só permite editar. - Clique com o botão direitoem seguida, no menu pop-up, cliqueFormatar celulas.
- DeCaixa de diálogo Formatar células, baterGuia Proteção
- Desmarque a caixa Bloqueado, & terminar comOK.
- CliqueGuia RevisãoentãoProteger planilha.
- Digite a senha noCaixa de diálogo Proteger planilhae bateuOK.
ObservaçãoPara A3
, primeiroDesprotegerPlanilha e repita as etapas mostradas acima.
Método 2:
Sub LockCells()
Dim mainworkBook As Workbook
Set mainworkBook = ActiveWorkbook
mainworkBook.Sheets("Sheet1").Range("A1:A2").Value = "Lock"
mainworkBook.Sheets("Sheet1").Range("A1:A2").Locked = True
mainworkBook.Sheets("Sheet1").Range("A3").Locked = False
ActiveSheet.Protect
End Sub
Sub Unlockcells()
Dim mainworkBook As Workbook
Set mainworkBook = ActiveWorkbook
mainworkBook.Sheets("Sheet11").Range("A3").Value = "Free"
mainworkBook.Sheets("Sheet11").Range("A1:A2").Locked = False
mainworkBook.Sheets("Sheet11").Range("A3").Locked = True
ActiveSheet.Protect
End Sub
Observação
- ImprensaAlt+F11para abrir o editor VB entãoCopiar colaresses códigos como Módulo Padrão.
- Desprotegera planilha antes de executar qualquer uma das macros.
Agora as alterações só serão permitidas nas células desbloqueadas.