Página 1 de 1

MACRO DE BLOQUEIO DE COPIAR E COLAR

Enviado: 11 Nov 2020 às 17:27
por Leonardo1234
Pessoal,

É o seguinte, eu inseri dentro de uma planilha uma macro que eu encontrei na internet que bloqueia as ações de copiar e colar dentro da planilha. A macro está funcionando perfeitamente, porém, sempre que eu abro outra planilha dps de mexer nessa planilha com a macro, o recurso de arrastar formulas fica desabilitado e ai eu tenho que manualmente entrar em opções, avançado e habilitar novamente a alça de preenchimento de arrastar a célula.

Como meu conhecimento em VBA é quase nulo, eu queria saber se tem alguma forma de resolver esse problema, mantendo a macro funcionando, porém sem afetar esse recurso de arrastar as células em outras planilhas.

A senha para acessar o VBA é "131077".

Agradeço a ajuda.

Re: MACRO DE BLOQUEIO DE COPIAR E COLAR

Enviado: 12 Nov 2020 às 05:58
por AfonsoMira
Boas veja se é isso?

Altere isto:

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


Para isto:

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

With Application
.CellDragAndDrop = True
.CutCopyMode = False 'limpa a área de transferência
End With

End Sub

Re: MACRO DE BLOQUEIO DE COPIAR E COLAR

Enviado: 12 Nov 2020 às 06:25
por AfonsoMira
Aqui troque também isto :
Código: Selecionar todos
Private Sub Workbook_Activate()
Dim oCtrl As Office.CommandBarControl

Application.OnKey "^{c}", "" 'Desativa o Copiar pelo teclado
Application.OnKey "^{v}", "" 'Desativa o Colar pelo teclado
Application.OnKey "^{x}", "" 'Desativa o Recortar pelo teclado
  
     'Desabilita todos os comandos de Recortar
          For Each oCtrl In Application.CommandBars.FindControls(ID:=21)
                oCtrl.Enabled = True
          Next oCtrl
  
     'Desabilita todos os comandos de Copiar
           For Each oCtrl In Application.CommandBars.FindControls(ID:=19)
                oCtrl.Enabled = True
          Next oCtrl

     'Desabilita o colar especial
           For Each oCtrl In Application.CommandBars.FindControls(ID:=21437)
                oCtrl.Enabled = True
          Next oCtrl

     Application.CellDragAndDrop = False

End Sub
Por isto:
Código: Selecionar todos
Private Sub Workbook_Activate()
Dim oCtrl As Office.CommandBarControl

Application.OnKey "^{c}", "" 'Desativa o Copiar pelo teclado
Application.OnKey "^{v}", "" 'Desativa o Colar pelo teclado
Application.OnKey "^{x}", "" 'Desativa o Recortar pelo teclado
  
     'Desabilita todos os comandos de Recortar
          For Each oCtrl In Application.CommandBars.FindControls(ID:=21)
                oCtrl.Enabled = True
          Next oCtrl
  
     'Desabilita todos os comandos de Copiar
           For Each oCtrl In Application.CommandBars.FindControls(ID:=19)
                oCtrl.Enabled = True
          Next oCtrl

     'Desabilita o colar especial
           For Each oCtrl In Application.CommandBars.FindControls(ID:=21437)
                oCtrl.Enabled = True
          Next oCtrl

     Application.CellDragAndDrop = True

End Sub

Re: MACRO DE BLOQUEIO DE COPIAR E COLAR

Enviado: 12 Nov 2020 às 10:57
por Leonardo1234
Valeu Afonso, está funcionando perfeitamente. Muito obrigado.