Como impedir que se copie e cole conteúdo sobre uma célula com lista pendente no Excel?
As listas pendentes de validação de dados são uma forma eficaz de controlar o tipo de informação que pode ser introduzida em determinadas células no Excel, garantindo consistência e integridade nos seus dados. No entanto, surge frequentemente um problema ao copiar conteúdo de outra célula e colá-lo numa célula com uma lista pendente: a validação de dados é removida e a lista desaparece. Esta situação pode comprometer as regras de validação e perturbar a lógica da folha de cálculo, sobretudo em cenários onde a entrada do utilizador deve estar limitada às opções da lista pendente.
Para preservar a integridade das suas células com listas pendentes, pode ser útil impedir que os utilizadores coleem conteúdo diretamente sobre elas. Isto assegura que todos os dados introduzidos nesses campos críticos respeitem sempre as restrições e opções predefinidas. Neste tutorial, irá aprender a bloquear eficazmente as ações de copiar e colar em células com listas pendentes, utilizando VBA — uma solução ideal para formulários, modelos com entrada controlada ou qualquer folha de cálculo onde a qualidade dos dados seja essencial.
Impedir cópia e colagem sobre célula com lista pendente no Excel
Impedir cópia e colagem sobre célula com lista pendente no Excel
Para proteger as suas listas pendentes contra substituição por conteúdo colado, pode utilizar VBA na folha de cálculo que contém essas células. Siga estes passos:
1. Abra a folha de cálculo que contém as listas pendentes que pretende proteger.
2. Prima Alt + F11 para abrir a janela do Visual Basic for Applications.
3. No painel esquerdo, faça duplo clique na folha à qual pretende aplicar a proteção (não em «ThisWorkbook»). Cole o seguinte código VBA no editor de código:

Código VBA: Impedir colar sobre listas pendentes
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice
Dim xValue As String
Dim xCheck1 As String
Dim xCheck2 As String
Dim xRg As Range
Dim xArrCheck1() As String
Dim xArrCheck2() As String
Dim xArrValue()
Dim xCount, xJ As Integer
Dim xBol As Boolean
' If Target.Count > 1 Then
' Exit Sub
' End If
xCount = Target.Count
ReDim xArrCheck1(1 To xCount)
ReDim xArrCheck2(1 To xCount)
ReDim xArrValue(1 To xCount)
Application.EnableEvents = False
On Error Resume Next
xJ = 1
For Each xRg In Target
xArrValue(xJ) = xRg.Value
xArrCheck1(xJ) = xRg.Validation.InCellDropdown
xJ = xJ + 1
Next
Application.Undo
xJ = 1
For Each xRg In Target
xArrCheck2(xJ) = xRg.Validation.InCellDropdown
xJ = xJ + 1
Next
xBol = False
For xJ = 1 To xCount
If xArrCheck2(xJ) <> xArrCheck1(xJ) Then
xBol = True
Exit For
End If
Next
If xBol Then
MsgBox "The selected cells containg data validation drop-down lists, no pasting allowed."
Else
xJ = 1
For Each xRg In Target
xRg.Value = xArrValue(xJ)
xJ = xJ + 1
Next
End If
Application.EnableEvents = True
End Sub
4. Prima Alt + Q para fechar o editor do VBA e regressar ao Excel.
5. Tente colar numa célula com uma lista pendente. Uma mensagem impedirá a colagem, mantendo a lista pendente intacta:

Notas e limitações:
Este código VBA foi concebido exclusivamente para colar em células individuais. Pode não impedir a perda de validação de dados ao colar em múltiplas células. Informe os utilizadores em conformidade.
Dicas de resolução de problemas:
- Certifique-se de que o código é inserido no módulo da folha de cálculo correta (e não num módulo geral).
- Ative as macros ao abrir o ficheiro.
- Verifique atentamente se há erros de copiar/colar ao inserir o código.
- Teste a macro num ficheiro de exemplo antes de a aplicar aos seus dados reais.
Soluções alternativas:
- Proteger folha de cálculo:Bloquear Seleção com listas pendentes e proteja a folha para impedir edições.Saber mais
- Utilizar alertas de validação de dados:Defina o estilo do alerta como «Parar» para bloquear entradas manuais inválidas.Saber mais
Crie facilmente Lista suspensa com caixas de seleção no Excel:
A funcionalidade Adicionar caixas de seleção à lista suspensa do Kutools para Excel permite-lhe criar facilmente uma lista suspensa com caixas de seleção num intervalo limitado, na folha atual, no livro de trabalho atual ou em todos os livros abertos, conforme as suas necessidades.
Transfira agora a versão completa com teste gratuito de 30 dias do Kutools para Excel!
Artigos relacionados:
Como criar uma lista pendente com várias caixas de seleção no Excel?
Muitos utilizadores do Excel desejam criar listas pendentes com várias caixas de seleção, para poderem selecionar vários itens de cada vez. Na verdade, não é possível criar esse tipo de lista utilizando apenas a Validação de Dados. Neste tutorial, mostramos-lhe duas formas eficazes de criar listas pendentes com várias caixas de seleção no Excel — a solução perfeita para este desafio!
Criar uma lista pendente a partir de outro livro no Excel
É bastante fácil criar uma lista pendente com Validação de Dados entre folhas dentro do mesmo livro. Mas e se os dados necessários para a validação estiverem num outro livro? Neste tutorial, vai aprender em pormenor como criar uma lista pendente a partir de outro livro no Excel.
Criar uma lista pendente pesquisável no Excel
Numa lista pendente com inúmeros valores, encontrar o valor certo não é nada fácil. Já mostrámos anteriormente um método que completa automaticamente a lista pendente ao digitar a primeira letra na caixa da lista. Além dessa funcionalidade de preenchimento automático, também pode tornar a lista pendente pesquisável — aumentando significativamente a eficiência na procura dos valores desejados. Para isso, experimente o método descrito neste tutorial.
Preencher automaticamente outras células ao selecionar valores numa lista pendente do Excel
Imagine que criou uma lista pendente com base nos valores do intervalo de células B8:B14. Ao selecionar qualquer valor nessa lista, pretende que os valores correspondentes no intervalo C8:C14 sejam preenchidos automaticamente na célula escolhida. Os métodos apresentados neste tutorial vão ajudá-lo a resolver este desafio com facilidade!
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos