Olá pessoal, boa tarde!
Estou com um baita problema em uma planilha, depois de muito suor consegui adaptar um código de um forum americano ao meu caso, está funcionamento praticamente como eu esperava. No meu caso eu queria que o código bloqueasse o colar e colar como valor em 4 colunas específicas de uma aba. Mesmo que o usuário tente copiar de outra planilha e colar nesta que tem o código ele está bloqueando... porém, fazendo vários testes, vi que esse código não bloqueia o usuário, por exemplo, de copiar algo do bloco de notas e colar na aba que está com o bloqueio.
Será que vocês conseguem me ajudar? Não encontrei nada parecido no forum.
Segue o código que estou usando para vocês enxergarem e interpretarem melhor:
Dim MyDataObject As New DataObject
Dim OldTarget As Range
Private Sub EmptyClipboard()
With MyDataObject
.SetText ""
.PutInClipboard
.Clear
End With
Set OldTarget = Nothing
End Sub
Private Sub Workbook_Activate()
If ActiveSheet Is Sheet1 Then EmptyClipboard
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh Is Sheet1 Then EmptyClipboard
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Const ColumnCY& = 103, ColumnDH& = 112, ColumnDI& = 113, ColumnDG& = 111
If Not Sh Is Sheet1 Then Exit Sub
With Target
If .Column = ColumnCY _
Or .Column = ColumnDH _
Or .Column = ColumnDI _
Or .Column = ColumnDG Then EmptyClipboard
End With
If Not OldTarget Is Nothing Then
With OldTarget
If .Column = ColumnCY _
Or .Column = ColumnDH _
Or .Column = ColumnDI _
Or .Column = ColumnDG Then EmptyClipboard
End With
End If
Set OldTarget = Target
End Sub
Postado : 06/10/2015 1:31 pm