Una sola opción del menu contextual no puede ser bloqueada así que se de a fuerza bloquear todo el menu, esta es la macro que bloquea del botón derecho del mouse, es muy simple como ves, te dejo macros para una hoja o para todo el libro.
' Macro para bloquear una sola hoja,
'poner en el modulo de la hoja que se quiera bloquear
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
MsgBox ("Sorry el boton derecho del mouse esta desactivado en esta hoja"), _
vbInformation, "AVISO Excel"
End Sub
'
'Bloquea el menu contextual en todas las hojas del libro,
'esta macro la colocas en el modulo Thisworkbooks
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Cancel = True
MsgBox ("Sorry el boton derecho del mouse esta desactivado en todo el libro"), _
vbInformation, "AVISO EXCEL"
End Sub
'
'esta macro antes de salir reactiva las teclas copiar y pegar
Private Sub Workbook_BeforeClose(Cancel As Boolean)
reactivar_teclas
End Sub
'esta macro al abrir el archivo desactiva las teclas copiar y pegar
Private Sub Workbook_Open()
desactivar_copiar
End Sub
'
'y estas son las macros de bloqueo y desbloqueo de teclas,
'colocalas en un modulo std
Sub desactivar_copiar()
With Application
.OnKey "^{c}", " "
.OnKey "^{x}", " "
MsgBox ("esta hoja tiene deshabilitada la opcion cortar y pegar"), vbInformation, "AVISO"
End With
End Sub
'
Sub reactivar_teclas()
With Application
.OnKey "^{c}"
.OnKey "^{x}"
MsgBox ("esta hoja tiene deshabilitada la opcion cortar y pegar"), vbInformation, "AVISO"
End With
'
'y por ultimo esta macro restringe el movimiento del raton,
'a un determinado rango de celdas, fuera de ese rango no puedes hacer nada
'en este ejemplo se restringio el movimiento a la celda a1, fuera de ese
'rango todo esta desactivado, si usas esta opcion ponla en el evento open y
'beforeclose respectivamente
Sub bloquear_celdas()
Hoja1.ScrollArea = "a1"
End Sub
'
Sub desbloquear_celdas()
Hoja1.ScrollArea = ""
End Sub