Felipe, como não disse qual a versão do Excel, as rotinas abaixo funcionam no Excel 2003, não testei em outras versões :
Supondo que quer que na Aba "Plan2" quer que ocorra o Bloqueio, então no evento desta aba cole as rotinas abaixo :
Veja que na Worksheet_SelectionChange está definido a Coluna e os Ranges que serão Bloqueados:
Set ColunasC = Range("C2:C20") 'Range a Impedir Copiar / Recortar / Colar se for outro tem de ajustar aqui.
Private Sub Worksheet_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 Worksheet_Deactivate()
Dim oCtrl As Office.CommandBarControl
'Habilita 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
Application.CellDragAndDrop = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim oCtrl As Office.CommandBarControl
Dim ColunasC As Range
Set ColunasC = Range("C2:C20") 'Range a Impedir Copiar / Recortar / Colar
If Not Application.Intersect(ColunasC, Range(Target.Address)) Is Nothing Then
'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
With Application
.CellDragAndDrop = True
.CutCopyMode = False 'limpa a área de transferência
End With
Else
'Habilita 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
Application.CellDragAndDrop = True
End If
End Sub
Faça os testes e veja se é isto.
[]s
** Em Tempo : Aproveitei o assunto e anexei um Modelo no forum Biblioteca :
Bloquear Copiar / Colar Determinada Aba e Range
viewtopic.php?f=21&t=9269
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 25/09/2013 11:22 am