Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Ignorando em branco

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?

3 respostas

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

solução!

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.

Planilha do Excel 2016, selecionar a aba Arquivo

Salvar arquivo do excel 2016 habilitada para Macros

Ícone de pasta de trabalho habilitada para macros no Excel 2016

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.

Abrindo VBA através da planilha usando a opção Exibir código no menu suspenso que pode ser ativo com o botão direito no nome da planilha

Selecionar a opção Worksheet na seção de scripts no VBA e 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.