Geralmente, se não todas as vezes, desejamos que os nosso relatório, Dashboards e aplicações não sejam copiadas, ou tenham os seus conteúdos e layouts alterados por alguém que inadvertidamente cole dados na nossa planilha.
Há como protegê-las dessas intempéries? Sim! Divirta-se com os códigos abaixo:
Sub DisableCutAndPaste() EnableControl 21, False ' cut EnableControl 19, False ' copy EnableControl 22, False ' paste EnableControl 755, False ' pastespecial Application.OnKey "^c", "" Application.OnKey "^v", "" Application.OnKey "+{DEL}", "" Application.OnKey "+{INSERT}", "" Let Application.CellDragAndDrop = False End Sub Sub EnableCutAndPaste() EnableControl 21, True ' cut EnableControl 19, True ' copy EnableControl 22, True ' paste EnableControl 755, True ' pastespecial Application.OnKey "^c" Application.OnKey "^v" Application.OnKey "+{DEL}" Application.OnKey "+{INSERT}" Let Application.CellDragAndDrop = True End Sub Sub EnableControl (Id As Integer, Enabled As Boolean) Dim CB As CommandBar Dim C As CommandBarControlFor Each CB In Application.CommandBars Set C = CB.FindControl(Id:=Id, recursive:=True)If Not C Is Nothing Then Let C.Enabled = Enabled Next End Sub
Reference:
Bill ManvilleTags: VBA, Excel, cutting, copying, pasting, cut, copy, past