Bom dia Professor e colegas de estudos!
Percebi que o ignorar em branco só funciona quando estamos alterando a celula mas quando clicamos sobre a celula e apertamos o DELETE nada ocorre. Teria como corrigir este problema?
Bom dia Professor e colegas de estudos!
Percebi que o ignorar em branco só funciona quando estamos alterando a celula mas quando clicamos sobre a celula e apertamos o DELETE nada ocorre. Teria como corrigir este problema?
Olá Allan,
Na verdade, isso não é um “problema”. O que acontece é que a Validação de dados é uma facilidade que limita a “entrada” dos dados, e não deixa você entrar/editar com espaço em branco. Quando usamos o delete estamos deixando a célula “sem conteúdo”, por isso que a validação não funciona.
QQ coisa fique a vontade para falar com a gente aqui pelo Fórum.
Abraço
Equipe do Prof. Sabino
Olá Allan, tudo bem? Espero que sim!
Realmente, se utilizarmos a tecla Delete diretamente na célula, o conteúdo será excluído e não passará pela validação de dados. Somente será entendido pela validação caso você esteja editando o texto ou usar a tecla Backspace.
Para contornar essa situação, você pode criar um código em VBA que impede a utilização da tecla Delete (DEL) na célula que não pode ter seu conteúdo deletado. Dessa forma, evita que a fórmula do cálculo da quantidade fique zerada.
Para acessar o ambiente VBA e sua planilha conseguir utilizar as macros posteriormente, você precisa salvar a sua planilha em um formato habilitado para macros.
O primeiro passo é salvar a pasta de trabalho que está utilizando em outro formato, gerando assim um novo arquivo com extensão .xlsm.
Para isso, vá na aba Arquivo, selecione Salvar como e escolha a pasta que deseja salvar, e o nome do arquivo que deseja. Feito isso, selecione a opção de tipo de arquivo Pasta de Trabalho Habilitada para Macro do Excel.
Abra o arquivo que foi salvo para continuar com os passos, somente esse arquivo consegue executar as macros que foram salvas.
Feito isso, clique com o botão direito no nome da sua planilha e selecione a opção Exibir Código. O VBA será aberto e você deve selecionar primeiramente a opção Worksheet na seção de Scripts e selecionar o evento Selection Change.
O código que utilizei para impedir que o conteúdo seja deletado é o seguinte:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Me.Range("A1:A5")) Is Nothing Then
Application.OnKey "{DEL}", ""
Else
Application.OnKey "{DEL}"
End If
End Sub
Caso queira aprender mais sobre o VBA, pode acessar a formação Excel VBA.
Espero que tenha tirado sua dúvida.
Estou à disposição. Bons estudos!
Obrigado pela resposta foi bem esclarecedora, tanto da Equipe do Prof. Sabino quanto a sua João Vitor de Miranda. Assim que eu chegar na seção de VBA voltarei a este caso e aplicarei o conhecimento adiquirido, muito obrigado.