Note: The other languages of the website are Google-translated. Back to English

Como desabilitar as funções cortar, copiar e colar no Excel?

Suponha que você tenha uma pasta de trabalho com dados importantes que você precisa proteger de serem cortados, copiados e colados. Como conseguir isso? Este artigo fornece um método VBA para você desabilitar as funções cortar, copiar e colar ao mesmo tempo em uma pasta de trabalho do Excel.

Desative as funções cortar, copiar e colar com o código VBA


Desative as funções cortar, copiar e colar com o código VBA

Faça o seguinte para desativar as funções cortar, copiar e colar em uma pasta de trabalho do Excel.

1. Na pasta de trabalho, você precisa desativar as funções de cortar, copiar e colar, pressione o outro + F11 simultaneamente para abrir o Microsoft Visual Basic para Aplicações janela.

2. No Microsoft Visual Basic para Aplicações janela, por favor clique duas vezes Esta pasta de trabalho no lado esquerdo Projeto painel e, em seguida, copie e cole o código VBA abaixo no Esta Pasta de Trabalho (Código) janela. Veja a imagem:

Código VBA: desative as funções cortar, copiar e colar ao mesmo tempo no Excel

Private Sub Workbook_Activate()
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End Sub

Private Sub Workbook_Deactivate()
Application.CellDragAndDrop = True
Application.OnKey "^c"
Application.CutCopyMode = False
End Sub

Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.CellDragAndDrop = True
Application.OnKey "^c"
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.CutCopyMode = False
End Sub

3. Em seguida, pressione o outro + Q chaves para sair do Microsoft Visual Basic para Aplicações janela.

Agora você não pode cortar ou copiar dados desta pasta de trabalho, enquanto isso, os dados que você copiou de outras planilhas ou pastas de trabalho não podem ser colados nesta pasta de trabalho.

Nota: A função arrastar e soltar também é desabilitada após a execução do código VBA acima.


Artigos relacionados:


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 ...
  • 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-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!
parte inferior da aba do escritório
Comentários (48)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
eu faço como acima, mas a função de cópia de corte e passado desabilitada em qualquer arquivo do Excel que eu abro .por que?
Este comentário foi feito pelo moderador no site
Oi, eu usei isso para ocultar "Cortar" dos usuários e funciona muito bem, a menos que você tenha uma Tabela, o "Corte" milagrosamente reaparece quando você seleciona uma célula na Tabela, exatamente o que estou tentando evitar. alguma ideia? obrigado!
Este comentário foi feito pelo moderador no site
Obrigado senhor, está funcionando. Mas na pasta de trabalho inteira. Se eu precisar deste código apenas em uma folha específica. É possível?
Este comentário foi feito pelo moderador no site
você encontrou uma resposta?
Este comentário foi feito pelo moderador no site
Muito obrigado. Está funcionando em todo o livro de trabalho. Podemos fazer a codificação apenas para 1 folha. Por favor, ajude.
Este comentário foi feito pelo moderador no site
Como habilitar a função cortar, copiar e colar de volta? Conselho por favor!
Este comentário foi feito pelo moderador no site
Querido Céu
Por favor, execute o VBA1 abaixo (coloque o código no módulo ThisWorkbook) para desabilitar a função cortar, copiar e colar em sua pasta de trabalho.

VBA1:
Sub DelCopy()
Com aplicação
.OnKey "^x", ""
.OnKey "^c", ""
.CommandBars("Célula").Controls(1).Enabled = False
.CommandBars("Célula").Controls(2).Enabled = False
Terminar com
End Sub

E execute o VBA2 para habilitar todas essas funções de volta à sua pasta de trabalho.

VBA2:
Sub RecuperarCopiar()
Com aplicação
.OnKey "^x"
.OnKey "^c"
.CommandBars("Célula").Controls(1).Enabled = True
.CommandBars("Célula").Controls(2).Enabled = True
Terminar com
End Sub
Este comentário foi feito pelo moderador no site
Isso não parece ter funcionado para mim - devo excluir o código VBA original e colar o acima para ativar a função Recortar, copiar e colar novamente?
Este comentário foi feito pelo moderador no site
Bom dia,
O comentário VBA1in acima é a substituição do código original.
Este comentário foi feito pelo moderador no site
Caro,

eu quero desabilitar cortar, copiar, colar na planilha excel 2007
você pode compartilhar o código para isso
Este comentário foi feito pelo moderador no site
Bom dia,
Obrigado pelo seu comentário. Estou tentando descobrir a solução para o Excel 2007. Aguarde com paciência.
Este comentário foi feito pelo moderador no site
Oi,
É possível desativar apenas "CUT"? mas eu ainda poderia usar o Copy and Paste?
Este comentário foi feito pelo moderador no site
Olá Carmelo,
Copie e cole o código abaixo na janela de código da pasta de trabalho em sua pasta de trabalho e salve-a como uma pasta de trabalho habilitada para macro do Excel. Em seguida, a função "Cortar" será desativada.

Opção explícita
Private WithEvents Cmbrs As CommandBars

Private Sub Workbook_Open ()
Definir Cmbrs = Application.CommandBars
End Sub

Private Sub Workbook_Activate ()
Se Application.CutCopyMode = 2 Então
Application.CutCopyMode = 0
Se acabar
End Sub

Sub Privado Cmbrs_OnUpdate()
Se eu estiver ativo, então
Se Application.CutCopyMode = 2 Então
Application.CutCopyMode = 0
MsgBox "Operações de corte desabilitadas"
Se acabar
Se acabar
End Sub
Este comentário foi feito pelo moderador no site
Eu tentei exatamente como você disse, mas nada aconteceu. Um desejo exatamente o mesmo, Apenas o
Função "Cortar" desabilitada. Preciso desabilitar a opção "cortar" do botão direito do mouse e da barra de ferramentas.
É cristal posivel??
Este comentário foi feito pelo moderador no site
Dia bom,
O código funciona bem no meu caso. Posso saber sua versão do Office?
Este comentário foi feito pelo moderador no site
Hi

Sou iniciante em códigos VBA e este código resolveu 99% dos meus problemas.

É possível bloquear a folha de orifício (como esta dose de código), mas ainda ter uma célula desbloqueada?
(Esclareça, eu gostaria de permitir copiar as informações em apenas uma célula na folha de furo).

Cumprimentos
L
Este comentário foi feito pelo moderador no site
Olá Linda,
Você pode resolver o problema sem usar o código VBA.
Clique com o botão direito na célula e selecione Formatar células no menu de contexto, desmarque a caixa Bloqueado na guia Proteção na caixa de diálogo. E depois proteja a planilha com senha.
Este comentário foi feito pelo moderador no site
Fiquei super feliz em encontrar este post, mas preciso de uma ajudinha para limitar isso a uma única planilha em uma pasta de trabalho com várias planilhas. E precisamos saber como executar isso sem intervenção do usuário... precisamos disso o mais rápido possível em uma pasta de trabalho para ajudar a evitar erros.
Este comentário foi feito pelo moderador no site
Dia bom,
O código VBA a seguir pode ajudá-lo a resolver o problema. E não se esqueça de substituir "Planilha2" no código pelo nome da sua planilha.

mJWSName público como string

Private Sub Workbook_Open ()
mJWSName = "Planilha2"
End Sub

Private Sub Workbook_Activate ()
Se ActiveSheet.Name = mJWSName Então
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Se acabar
End Sub

Sub pasta de trabalho privada_Deactivate ()
Application.OnKey "^c", ""
Application.CellDragAndDrop = True
Application.CutCopyMode = False
End Sub


Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Se ActiveSheet.Name = mJWSName Então
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Se acabar
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.OnKey "^c"
Application.CellDragAndDrop = True
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
Se Sh.Name = mJWSName Então
Application.CutCopyMode = False
Se acabar
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error Resume Next
Se Sh.Name = mJWSName Então
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Application.CutCopyMode = False
Se acabar
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.OnKey "^c"
Application.CellDragAndDrop = True
Application.CutCopyMode = False
End Sub
Este comentário foi feito pelo moderador no site
Uma última pergunta - para onde vai esse código e como ele é executado? O projeto com o qual isso precisa funcionar anexa um arquivo XLA à planilha do Excel que contém grande parte do código. Não sabia se isso precisa entrar em um módulo ou no código por trás desta planilha. Obrigado...
Este comentário foi feito pelo moderador no site
Obrigado por sua direção. Estou tentando no escritório de 2013, mas nada mudou.
Este comentário foi feito pelo moderador no site
Oi, o código funciona bem, obrigado.
No entanto, a opção somente leitura foi habilitada. (se você não quiser modificar). Se eu definir ..File, save as, tools, general options, read only recomendado.. então o código não funciona.

Obrigado antecipadamente.
Este comentário foi feito pelo moderador no site
Realmente funciona bem, muito obrigado.
Este comentário foi feito pelo moderador no site
Obrigado funciona perfeito .... pode ser aplicado em um intervalo apenas de alguma forma?
Este comentário foi feito pelo moderador no site
Dia bom,
Desculpe não poder ajudá-lo com isso. Bem-vindo a postar qualquer pergunta em nosso fórum: https://www.extendoffice.com/forum.html. Obrigado pelo seu comentário.
Este comentário foi feito pelo moderador no site
OBRIGADO SENHOR
Este comentário foi feito pelo moderador no site
Obrigado, muito útil.
Este comentário foi feito pelo moderador no site
recortar copiar colar aplicável Pasta de trabalho inteira. Se eu precisar deste código apenas em uma folha específica. É possível?
por favor ajude. precisamos apenas de uma função de desativação de planilha. mais uma folha estamos trabalhando todas as funções...
Este comentário foi feito pelo moderador no site
Esse código não está funcionando no meu excel 2016 para uma única planilha em vez de toda a pasta de trabalho
Este comentário foi feito pelo moderador no site
Isso ainda permite colar do Bloco de Notas ou do Microsoft Edge. Por favor, veja se existe uma maneira de impedir a colagem de qualquer fonte.
Este comentário foi feito pelo moderador no site
Oi,
Se impedir a colagem de qualquer fonte, precisamos impedir o recurso Bloco de Notas, o que pode trazer transtornos. Não recomendamos isso. Desculpe não poder ajudá-lo com isso.
Este comentário foi feito pelo moderador no site
Eu usei este código e quero reativar novamente? como reativá-lo?
Este comentário foi feito pelo moderador no site
use este código para desativar copiar recortar e colar



Private Sub Workbook_Activate ()

Application.CutCopyMode = False

Application.OnKey "^c", ""

Application.CellDragAndDrop = False

End Sub



Sub pasta de trabalho privada_Deactivate ()

Application.CellDragAndDrop = True

Application.OnKey "^c"

Application.CutCopyMode = False

End Sub



Private Sub Workbook_WindowActivate(ByVal Wn As Window)

Application.CutCopyMode = False

Application.OnKey "^c", ""

Application.CellDragAndDrop = False

End Sub



Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)

Application.CellDragAndDrop = True

Application.OnKey "^c"

Application.CutCopyMode = False

End Sub



Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

Application.CutCopyMode = False

End Sub



Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Application.OnKey "^c", ""

Application.CellDragAndDrop = False

Application.CutCopyMode = False

End Sub



Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)

Application.CutCopyMode = False

End Sub





e deseja ativar essas funções novamente
Este comentário foi feito pelo moderador no site
Isso funciona muito bem, como alguém modificaria isso para permitir copiar/colar em colunas específicas que possuem menus suspensos vinculados a intervalos nomeados de entrada aceitável e apenas a entrada aceitável. Por exemplo, um nome que é Jetson, George, 25, permitiria copiar/colar de Jetson, George, 25, mas não permitiria Jeston, George, 26. Ou arrastar e preencher que resultaria em Jetson, George, 25, 26 , depois 27, etc.
Na minha planilha, quero desabilitar completamente recortar/copiar/colar em determinadas colunas e, em seguida, permitir apenas copiar e colar recortar dados aceitáveis ​​de listas suspensas.
Obrigado.
Não há comentários postados aqui ainda
carregar mais
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos