fechar

Aprender Excel

APRENDER EXCEL

DICAS E NOVIDADES SOBRE EXCEL

Proibindo o copiar e colar com VBA no Excel

por: Maximiliano Meyer em VBA, no dia 07/08 | 14:38 atualizado em 27/06 | 08:15

Mais um post voltado à segurança de seus projetos. Ideal para quando você quiser compartilhar uma planilha com alguém mas tem receio que seus dados sejam copiados. Com o código que aprenderemos o usuário não poderá copiar ou recortar de uma planilha para outra.

Funciona assim: Abra a janela de edição de códigos (atalho alt + f11) e dê um clique em 'EstaPasta_de_trabalho'. Lá vamos colar o seguinte código:

Private Sub Workbook_Activate()
Dim oCtrl As Office.CommandBarControl
  
     'Desabilita todos os comandos de Recortar
          For Each oCtrl In Application.CommandBars.FindControls(ID:=21)
                oCtrl.Enabled = False
          Next oCtrl
  
     'Desabilita todos os comandos de Copiar
           For Each oCtrl In Application.CommandBars.FindControls(ID:=19)
                oCtrl.Enabled = False
          Next oCtrl
  
     Application.CellDragAndDrop = False
  
     End Sub         
  
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  
     With Application
          .CellDragAndDrop = False
          .CutCopyMode = False 'limpa a área de transferência
     End With
  
End Sub

Confira como sua tela deverá estar se parecendo neste momento:

Pronto, veja que agora nada do que foi inserido na sua planilha poderá ser copiado para outra planilha do Excel, tanto pelo atalho Ctrl +c e Ctrl +  como pelos botões do próprio programa. Mas atenção, o usuário ainda poderá copiar para outra aplicação, como Word ou bloco de notas. O problema não existia nas versões anteriores do Excel, mas na 2013 não é possível bloquear a cópia externa.

Pelo menos por enquanto. Continuaremos na busca e assim que solucionarmos esse inconveniente iremos postar aqui. Fiquem de olho. Enquanto isso veja que com nosso código até o botão de copiar está desabilitado.

Agora e só você salvar o documento como modelo habilitado para macro e pronto. Legal que com esse código o a planilha ainda aceitará que você cole dados, ideal para quem deseja colar uma grande seleção externa de números e valores.

Interessante ainda é você maximizar sua segurança ao bloquear a edição da VBA. Confira como fazer isso neste nosso tutorial e impeça que qualquer um mexa no seu código.