Note: The other languages of the website are Google-translated. Back to English
Log in  \/ 
x
or
x
Inscreva-se  \/ 
x

or

Como evitar copiar e colar sobre a célula com lista suspensa no Excel?

Para uma célula com lista suspensa de validação de dados, ao copiar o conteúdo de outra célula e colar nela, a lista suspensa desaparecerá e será substituída pelo novo conteúdo de colagem. Em alguns casos, você deseja evitar copiar e colar outro conteúdo sobre a célula com a lista suspensa, o que você faria para lidar com isso? Neste artigo, você obterá um método VBA para lidar com esse problema.

Impedir copiar e colar sobre a célula com a lista suspensa no Excel


Impedir copiar e colar sobre a célula com a lista suspensa no Excel

1. Abra a planilha com a célula da lista suspensa que você deseja impedir de copiar e colar.

2. Pressione outro + F11 simultaneamente para abrir o Aplicativos Microsoft Visual Basic janela.

3. No Aplicativos Microsoft Visual Basic janela, clique duas vezes no nome da planilha atual no painel esquerdo, em seguida, copie e cole o código VBA abaixo no editor de código. Veja a imagem:

Código VBA: impede copiar e colar sobre a célula com a lista suspensa

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20200903
    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. Pressione outro + Q chaves para sair do Aplicativos Microsoft Visual Basic janela.

5. Quando você cola conteúdo em uma célula com lista suspensa, uma caixa de diálogo aparecerá para lembrá-lo de que a colagem não é permitida. Veja a imagem:

Importante: Este VBA funciona apenas na colagem de uma única célula. Se você copiar e colar em várias células, não funcionará.

Crie facilmente uma lista suspensa com caixas de seleção no Excel:

A Lista suspensa com caixas de seleção utilidade de Kutools for Excel pode ajudá-lo a criar facilmente uma lista suspensa com caixas de seleção em um intervalo especificado, planilha atual, pasta de trabalho atual ou todas as pastas de trabalho abertas com base em suas necessidades.
Baixe a trilha gratuita de 30 dias completa do Kutools para Excel agora!


Artigos relacionados:

Como criar uma lista suspensa com várias caixas de seleção no Excel?
Muitos usuários do Excel tendem a criar uma lista suspensa com várias caixas de seleção para selecionar vários itens da lista por vez. Na verdade, você não pode criar uma lista com várias caixas de seleção com a validação de dados. Neste tutorial, vamos mostrar dois métodos para criar uma lista suspensa com várias caixas de seleção no Excel. Este tutorial fornece o método para resolver o problema.

Crie uma lista suspensa de outra pasta de trabalho no Excel
É muito fácil criar uma lista suspensa de validação de dados entre as planilhas de uma pasta de trabalho. Mas se os dados da lista de que você precisa para a validação de dados estiverem em outra pasta de trabalho, o que você faria? Neste tutorial, você aprenderá como criar uma lista suspensa de outra pasta de trabalho no Excel em detalhes.

Crie uma lista suspensa pesquisável no Excel
Para uma lista suspensa com vários valores, encontrar um adequado não é um trabalho fácil. Anteriormente, introduzimos um método de preenchimento automático da lista suspensa ao inserir a primeira letra na caixa suspensa. Além da função de preenchimento automático, você também pode tornar a lista suspensa pesquisável para aumentar a eficiência de trabalho ao encontrar os valores adequados na lista suspensa. Para tornar a lista suspensa pesquisável, tente o método neste tutorial.

Preencher automaticamente outras células ao selecionar valores na lista suspensa do Excel
Digamos que você tenha criado uma lista suspensa com base nos valores do intervalo de células B8: B14. Ao selecionar qualquer valor na lista suspensa, você deseja que os valores correspondentes no intervalo de células C8: C14 sejam preenchidos automaticamente em uma célula selecionada. Para resolver o problema, os métodos neste tutorial vão lhe fazer um favor.

Mais tutoriais para a lista suspensa ...


As melhores ferramentas de produtividade para escritório

O 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 ...
  • Super Formula Bar (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-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz 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!
officetab bottom
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Eva · 3 years ago
    I works BUT after you put the code you cannot UNDO anything. Not a single step back is allowed.
  • To post as a guest, your comment is unpublished.
    Dilip · 4 years ago
    No, I did not figure it out. I didn't try to resolve after a while.
  • To post as a guest, your comment is unpublished.
    arvind raj · 4 years ago
    did you manage to resolve the issue of copying and pasting into multiple cells? Thanks in advance!
  • To post as a guest, your comment is unpublished.
    Amit Jain · 4 years ago
    Hi Dilip,

    are you able to fix the issue of allowing data using paste values
  • To post as a guest, your comment is unpublished.
    Amit Jain · 4 years ago
    Hi Dilip,

    are you able to fix the issue of allowing data using paste values..i am also facing the same issue..help me on this please
  • To post as a guest, your comment is unpublished.
    jepson · 5 years ago
    Thank you very much !! works fine for me !!!
    copying into a single cell is restricted.
    but if i copy a list of cells and paste.., the paste is accepted. let me see if i can tune this up ..thanks anyways
    • To post as a guest, your comment is unpublished.
      G · 5 years ago
      Jepson, did you manage to resolve the issue of copying and pasting into multiple cells? Thanks in advance!
  • To post as a guest, your comment is unpublished.
    Abhijeet · 5 years ago
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xValue As String
    Dim xCheck1 As String
    Dim xCheck2 As String
    If Target.Count > 1 Then
    Exit Sub
    End If
    Application.EnableEvents = False
    xValue = Target.Value
    On Error Resume Next
    xCheck1 = Target.Validation.InCellDropdown
    On Error GoTo 0
    Application.Undo
    On Error Resume Next
    xCheck2 = Target.Validation.InCellDropdown
    On Error GoTo 0
    If xCheck1 = xCheck2 Then
    Target = xValue
    Else
    MsgBox "No pasting allowed!"
    End If
    Application.EnableEvents = True
    End Sub
    This Macro not work when copy from different workbook or worksheet then so please tell me how to avoid these things also
  • To post as a guest, your comment is unpublished.
    chandan · 5 years ago
    Hi,

    above mention vba code is not run.kindly resolve.
  • To post as a guest, your comment is unpublished.
    Jai · 5 years ago
    Hi,

    While I running this macro I got this debug error "Application.Undo". Pls resolve this ASAP
  • To post as a guest, your comment is unpublished.
    Dilip · 6 years ago
    This works but when I paste value this is allowing data which is not from the drop down list. Any way to restrict any value which is not from the list.
    • To post as a guest, your comment is unpublished.
      Rao · 4 years ago
      Hi Dilip,

      Did you able to resolve the issue, i too having similar issue. I have to allow copy,paste only for drop down values in the data validation cell other i have to restrict. Can you share your solution.

      Thanks
      Rao