ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   RightClick Range (https://www.excelbanter.com/excel-programming/373384-rightclick-range.html)

John[_88_]

RightClick Range
 
Hi there,

I've added a right click popup menu to a range ("Orders" = A15:E40) that
works fine (bar my other FaceID problem - see "FaceID not available" post
earlier today).

The problem is that if I right click on a row or column header the popup,
pops up which means I loose the standard context menu. Is there an
alternative to the Intersect function that would only detect a cell that's
in the range rather than a whole row that happens to run through the range?

Thanks in advance

John


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
If Not Intersect(Range("Orders"), Target) Is Nothing Then
CommandBars("JohnsPopup").ShowPopup
Cancel = True
End If
End Sub



Jim Cone

RightClick Range
 
I'm guessing there is a lot of code out there with the same problem.
Probably some of mine too.
This seems to work...

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not Target.Rows.Count = Me.Rows.Count Then
If Not Intersect(Range("Orders"), Target) Is Nothing Then
CommandBars("JohnsPopup").ShowPopup
Cancel = True
End If
End If
End Sub
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware



"John"
wrote in message
Hi there,
I've added a right click popup menu to a range ("Orders" = A15:E40) that
works fine (bar my other FaceID problem - see "FaceID not available" post
earlier today).
The problem is that if I right click on a row or column header the popup,
pops up which means I loose the standard context menu. Is there an
alternative to the Intersect function that would only detect a cell that's
in the range rather than a whole row that happens to run through the range?
Thanks in advance
John


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
If Not Intersect(Range("Orders"), Target) Is Nothing Then
CommandBars("JohnsPopup").ShowPopup
Cancel = True
End If
End Sub



John[_88_]

RightClick Range
 
Hi Jim,

Thanks very much for your reply. Prompted by your example I've decided to
go for:

If Target.Columns.Count = 1 And Target.Rows.Count = 1 Then

as that seems ok for my purpose.

Thanks for the workaround.

Best regards

John



"Jim Cone" wrote in message
...
I'm guessing there is a lot of code out there with the same problem.
Probably some of mine too.
This seems to work...

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
If Not Target.Rows.Count = Me.Rows.Count Then
If Not Intersect(Range("Orders"), Target) Is Nothing Then
CommandBars("JohnsPopup").ShowPopup
Cancel = True
End If
End If
End Sub
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware



"John"
wrote in message
Hi there,
I've added a right click popup menu to a range ("Orders" = A15:E40) that
works fine (bar my other FaceID problem - see "FaceID not available" post
earlier today).
The problem is that if I right click on a row or column header the popup,
pops up which means I loose the standard context menu. Is there an
alternative to the Intersect function that would only detect a cell that's
in the range rather than a whole row that happens to run through the
range?
Thanks in advance
John


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
If Not Intersect(Range("Orders"), Target) Is Nothing Then
CommandBars("JohnsPopup").ShowPopup
Cancel = True
End If
End Sub





Gary Keramidas

RightClick Range
 
here's what i use, not saying it's the best way, but works for me

If Target.Count = 1 Then
If Not Intersect(Target, Columns("e")) Is Nothing Then
If Worksheets("call report").ProtectContents = True Then

--


Gary


"John" wrote in message
...
Hi there,

I've added a right click popup menu to a range ("Orders" = A15:E40) that works
fine (bar my other FaceID problem - see "FaceID not available" post earlier
today).

The problem is that if I right click on a row or column header the popup, pops
up which means I loose the standard context menu. Is there an alternative to
the Intersect function that would only detect a cell that's in the range
rather than a whole row that happens to run through the range?

Thanks in advance

John


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
If Not Intersect(Range("Orders"), Target) Is Nothing Then
CommandBars("JohnsPopup").ShowPopup
Cancel = True
End If
End Sub




John[_88_]

RightClick Range
 
Thanks Gary. I hadn't thought about just using Target.Count.

Yet another way! Thanks again.

John


"Gary Keramidas" <GKeramidasATmsn.com wrote in message
...
here's what i use, not saying it's the best way, but works for me

If Target.Count = 1 Then
If Not Intersect(Target, Columns("e")) Is Nothing Then
If Worksheets("call report").ProtectContents = True Then

--


Gary


"John" wrote in message
...
Hi there,

I've added a right click popup menu to a range ("Orders" = A15:E40) that
works fine (bar my other FaceID problem - see "FaceID not available" post
earlier today).

The problem is that if I right click on a row or column header the popup,
pops up which means I loose the standard context menu. Is there an
alternative to the Intersect function that would only detect a cell
that's in the range rather than a whole row that happens to run through
the range?

Thanks in advance

John


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
If Not Intersect(Range("Orders"), Target) Is Nothing Then
CommandBars("JohnsPopup").ShowPopup
Cancel = True
End If
End Sub






Gary Keramidas

RightClick Range
 
and i use the protectcontents = true so it only works when the sheet's
protected. if it's unprotected, the right click context menu is displayed

--


Gary


"John" wrote in message
...
Thanks Gary. I hadn't thought about just using Target.Count.

Yet another way! Thanks again.

John


"Gary Keramidas" <GKeramidasATmsn.com wrote in message
...
here's what i use, not saying it's the best way, but works for me

If Target.Count = 1 Then
If Not Intersect(Target, Columns("e")) Is Nothing Then
If Worksheets("call report").ProtectContents = True Then

--


Gary


"John" wrote in message
...
Hi there,

I've added a right click popup menu to a range ("Orders" = A15:E40) that
works fine (bar my other FaceID problem - see "FaceID not available" post
earlier today).

The problem is that if I right click on a row or column header the popup,
pops up which means I loose the standard context menu. Is there an
alternative to the Intersect function that would only detect a cell that's
in the range rather than a whole row that happens to run through the range?

Thanks in advance

John


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
If Not Intersect(Range("Orders"), Target) Is Nothing Then
CommandBars("JohnsPopup").ShowPopup
Cancel = True
End If
End Sub








Dave Peterson

RightClick Range
 
if target.cells.count = 1 then

would be equivalent

John wrote:

Hi Jim,

Thanks very much for your reply. Prompted by your example I've decided to
go for:

If Target.Columns.Count = 1 And Target.Rows.Count = 1 Then

as that seems ok for my purpose.

Thanks for the workaround.

Best regards

John

"Jim Cone" wrote in message
...
I'm guessing there is a lot of code out there with the same problem.
Probably some of mine too.
This seems to work...

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
If Not Target.Rows.Count = Me.Rows.Count Then
If Not Intersect(Range("Orders"), Target) Is Nothing Then
CommandBars("JohnsPopup").ShowPopup
Cancel = True
End If
End If
End Sub
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware



"John"
wrote in message
Hi there,
I've added a right click popup menu to a range ("Orders" = A15:E40) that
works fine (bar my other FaceID problem - see "FaceID not available" post
earlier today).
The problem is that if I right click on a row or column header the popup,
pops up which means I loose the standard context menu. Is there an
alternative to the Intersect function that would only detect a cell that's
in the range rather than a whole row that happens to run through the
range?
Thanks in advance
John


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
If Not Intersect(Range("Orders"), Target) Is Nothing Then
CommandBars("JohnsPopup").ShowPopup
Cancel = True
End If
End Sub



--

Dave Peterson


All times are GMT +1. The time now is 07:31 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com