Try this code.
Option Explicit
Sub ChangeDels()
Application.OnKey "{Del}", "NewDel"
Application.CommandBars("Cell").Controls("Clear Contents").OnAction = "NewDel"
End Sub
Sub ResetDels()
Application.OnKey "{Del}"
Application.CommandBars("Cell").Controls("Clear Contents").OnAction = ""
End Sub
Sub NewDel()
Dim DelRange As Range
On Error Resume Next
Set DelRange = Selection.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If Not DelRange Is Nothing Then
DelRange.ClearContents
End If
End Sub
You can run the code to change the functions on the Workbook Activate event and run the code to reset it on the Workbook Deactivate event.