Ir para o conteúdo principal
Note: The other languages of the website are Google-translated. Back to English

Como evitar que conteúdos específicos de células sejam excluídos do Excel?

Este artigo fala sobre como evitar que conteúdos específicos de células sejam excluídos do Excel. Você pode conseguir isso com os métodos deste artigo.

Evite que conteúdos específicos de células sejam excluídos protegendo a planilha
Impedir que conteúdos específicos de células sejam excluídos usando o código VBA


Evite que conteúdos específicos de células sejam excluídos protegendo a planilha

Por padrão, todas as células da planilha estão bloqueadas. Se você deseja evitar que conteúdos de células específicos sejam excluídos e tornar outras células editáveis ​​após a proteção, faça o seguinte.

1. Clique na no canto superior esquerdo da planilha para selecionar toda a planilha. Então aperte Ctrl + 1 chaves para abrir o formatar células caixa de diálogo.

2. No popping up formatar células caixa de diálogo, desmarque o Trancado opção sob o pós-colheita guia e, em seguida, clique no botão OK botão. Veja a imagem:

3. Selecione as células cujo conteúdo não deseja excluir e pressione Ctrl + 1 teclas para abrir o formatar células caixa de diálogo novamente, verifique o Trancado opção sob o pós-colheita guia e, em seguida, clique no botão OK botão.

4. Agora clique Comentários > Folha de proteção, especifique e confirme sua senha em ambos os Folha de proteção e Confirmar palavra-passe caixa de diálogo.

Agora a planilha está protegida. E o conteúdo da célula especificado não será mais excluído.


Impedir que conteúdos específicos de células sejam excluídos usando o código VBA

Além dos dois métodos acima, você pode executar o código VBA para evitar que conteúdos de células específicos sejam excluídos de uma planilha. Faça o seguinte.

1. Abra a planilha que contém o conteúdo da célula que você não deseja excluir, clique com o botão direito do mouse na guia Planilha e clique em Ver código no menu do botão direito.

2. Copie e cole o código VBA abaixo na janela Código do Microsoft Visual Basic para Aplicações janela.

Código VBA: evita que conteúdos específicos de células sejam excluídos do Excel

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:E7")) Is Nothing Then Exit Sub
    On Error GoTo ExitPoint
    Application.EnableEvents = False
    If Not IsDate(Target(1)) Then
        Application.Undo
        MsgBox " You can't delete cell contents from this range " _
        , vbCritical, "Kutools for Excel"
    End If
ExitPoint:
    Application.EnableEvents = True
End Sub

Anote os: No código, A1: E17 é o intervalo do qual o conteúdo da célula você evitará que seja excluído. Você pode alterar o intervalo de acordo com suas necessidades.

De agora em diante, ao tentar excluir o conteúdo da célula do intervalo A1: E17, você obterá um Kutools for Excel caixa de diálogo conforme a captura de tela abaixo mostrada, clique no OK botão.


Artigos relacionados:


As melhores ferramentas de produtividade para escritório

Kutools for Excel Resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Office Tab Traz a interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (17)
Avaliado 5 fora do 5 · classificações 1
Este comentário foi feito pelo moderador no site
Era o que eu estava procurando, obrigado pela ajuda!
Este comentário foi feito pelo moderador no site
não se preocupe sempre aqui para ajudar :)
Este comentário foi feito pelo moderador no site
Oi lá,

Acabei de testar o script VBA e, embora funcione muito bem na maioria das situações. No entanto, não funciona quando você tabula de uma célula editável para a coluna/célula não editável. O problema surge porque ele lança a mensagem de erro - conforme ordenado - mas não mantém os dados que foram inseridos na célula editável original da qual foi tabulado.

Você teria uma alteração no script para que ele aceite os dados na célula editável quando você tabular em não editável?

Saúde
Este comentário foi feito pelo moderador no site
Dia bom,
Eu tentei como você mencionou no seu caso, mas nenhum erro é lançado. Você forneceria uma captura de tela do seu caso ou me diria sua versão do Office?
Obrigado pelo seu comentário.
Este comentário foi feito pelo moderador no site
Se você não quiser olhar sua planilha ou escrever código VBA, então eu uso uma técnica simples que impede qualquer substituição, exceto quando eles usam a tecla "DELETE" (backspace não será permitido, mas Delete é difícil de parar ). O que eu fiz foi adicionar uma validação de dados com as seguintes configurações:

1) Permitir --> Listar

2) desmarque "Ignore blank" e "in-cell dropdown"

3) Na fonte digite duas aspas duplas (ou seja, "")

4) Na guia Alerta de erro, marque "Mostrar alteração de erro após a inserção de dados inválidos", selecione "Parar" para o estilo e insira uma mensagem de erro e descrição (por exemplo, Não substituir)
Este comentário foi feito pelo moderador no site
Oi,
Obrigado por compartilhar.
Este comentário foi feito pelo moderador no site
Código VBA - Ótima dica obrigado

Existe um código VBA para impedir que o conteúdo específico da célula seja modificado E excluído no Excel?
A folha de proteção usual não funciona para mim, pois perco a capacidade de classificar dados?

Obrigado desde já - Neil
Este comentário foi feito pelo moderador no site
"Impedir que o conteúdo específico da célula seja excluído protegendo a planilha"Eu fiz de acordo com sua orientação, as informações da célula ainda podem ser excluídas, ou seja, a proteção não funciona. Qualquer solução.
Este comentário foi feito pelo moderador no site
Olá Ahsan,
Você aplicou o método VBA?
Você precisa adicionar o VBA à janela de código da planilha. Supondo que o conteúdo da célula que você deseja proteger esteja na Plan9, clique com o botão direito do mouse na guia da planilha e selecione Exibir código no menu de contexto e, em seguida, copie diretamente o código na janela de código conforme a imagem abaixo.
Este comentário foi feito pelo moderador no site
Olá, este código funciona bem, no entanto, a exclusão de linha/coluna irá ignorá-lo. Existe alguma solução para isso? Abraço, Davi.
Este comentário foi feito pelo moderador no site
Olá David,
Qual versão do Excel você está usando? Eu tentei o código, linhas e colunas inteiras no intervalo especificado não podem ser excluídas após a aplicação do código.
Este comentário foi feito pelo moderador no site
Obrigado pela valiosa informação.
Em relação ao VBA abaixo:
Private Sub Worksheet_Change (ByVal Target As Range)
If Intersect(Target, Range("A1:E7")) não é nada, então Exit Sub
Em erro GoTo ExitPoint
Application.EnableEvents = False
Se Não ÉData(Destino(1)) Então
Aplicativo.Desfazer
MsgBox " Você não pode excluir o conteúdo da célula deste intervalo " _
, vbCrítico, "Kutools for Excel"
Se acabar
Ponto de Saída:
Application.EnableEvents = True
End Sub

O acima permitirá a execução dentro de um determinado intervalo especificado. Não permite a adição de novas linhas. Existe uma maneira de adicionar novas linhas, mantendo a mesma proteção.
agradecimentos e cumprimentos
Este comentário foi feito pelo moderador no site
Olá Oussama Abou faraj,
Depois de tentar com vários métodos, não consigo fazer isso funcionar. Após adicionar uma nova linha, a área será bloqueada imediatamente e a célula recém-inserida não poderá ser editada.
Este comentário foi feito pelo moderador no site
É possível fazer algo semelhante no nível da pasta de trabalho?

Private Sub Worksheet_Change (ByVal Target As Range)
Se Intersect(Target, Range("A1:M7000")) não for nada, então Exit Sub
Em erro GoTo ExitPoint
Application.EnableEvents = False
Se Não ÉData(Destino(1)) Então
Aplicativo.Desfazer
MsgBox " Você não pode excluir o conteúdo da célula deste intervalo " _
, vbCrítico, "Kutools for Excel"
Se acabar
Ponto de Saída:
Application.EnableEvents = True
End Sub
Este comentário foi feito pelo moderador no site
Olá Gelu,
Você pretende impedir que o intervalo "A1:M7000" seja excluído em todas as planilhas da pasta de trabalho atual?
Este comentário foi feito pelo moderador no site
Não, eu quis NÃO permitir a exclusão (sem proteger o wks ou wkb).

É bom que o acima funcione no nível Wks.

Se houver algo para fazê-lo funcionar no nível wkb, seria ainda melhor (tenho muitas folhas)

G
Este comentário foi feito pelo moderador no site
Isso é ótimo. Eu queria saber se isso era uma opção e com certeza era. Obrigado pelas instruções muito fáceis.

André S.
Avaliado 5 fora do 5
Não há comentários postados aqui ainda