Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim zone As Range
For Each Target In Target.Areas
If Intersect(ActiveCell, Target) Is Nothing Then _
Set zone = Union(Target, IIf(zone Is Nothing, Target, zone))
Next
If Not zone Is Nothing Then Cancel = True: zone.Select
End Sub