Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
dan dan is offline
external usenet poster
 
Posts: 866
Default BeforeDoubleClick doesn't seem to work

I have this code in my project, and double clicking on the sheet doesn't
appear to do anything:

Public Sub BeforeDoubleClick(ByVal SelRange As Range, Cancel As Boolean)
Cancel = True
msgbox "Range= " & SelRange
End Sub

What am I doing wrong?

Thanks -
Dan
  #2   Report Post  
Posted to microsoft.public.excel.programming
Jay Jay is offline
external usenet poster
 
Posts: 671
Default BeforeDoubleClick doesn't seem to work

Hi Dan -

Change "BeforeDoubleClick" to "Worksheet_BeforeDoubleClick" and see what
happens.
--
Jay


"Dan" wrote:

I have this code in my project, and double clicking on the sheet doesn't
appear to do anything:

Public Sub BeforeDoubleClick(ByVal SelRange As Range, Cancel As Boolean)
Cancel = True
msgbox "Range= " & SelRange
End Sub

What am I doing wrong?

Thanks -
Dan

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4,391
Default BeforeDoubleClick doesn't seem to work

Dan,
You cannot make up events and expect Excel to fire them. It is best to let
Excel create the routine stubs for you to ensure they are correct.
On the worksheet module, select Worksheet from the top-left combo box then
select the required event from the top-right combo box.
See the difference:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
Cancel = True
MsgBox "Range= " & Target
End Sub

Also, I avoid using default properties. Be explicit.
It looks like you want
Target.Address
but you are getting
Target.Value

NickHK

"Dan" wrote in message
...
I have this code in my project, and double clicking on the sheet doesn't
appear to do anything:

Public Sub BeforeDoubleClick(ByVal SelRange As Range, Cancel As Boolean)
Cancel = True
msgbox "Range= " & SelRange
End Sub

What am I doing wrong?

Thanks -
Dan



  #4   Report Post  
Posted to microsoft.public.excel.programming
dan dan is offline
external usenet poster
 
Posts: 866
Default BeforeDoubleClick doesn't seem to work

Thanks Nick -
My top left combo box doesn't contain anything other than "(General)", and
the right one has all of my subs listed, but nothing else.
How do I get these combo boxes to give me other options?
Thanks!

"NickHK" wrote:

Dan,
You cannot make up events and expect Excel to fire them. It is best to let
Excel create the routine stubs for you to ensure they are correct.
On the worksheet module, select Worksheet from the top-left combo box then
select the required event from the top-right combo box.
See the difference:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
Cancel = True
MsgBox "Range= " & Target
End Sub

Also, I avoid using default properties. Be explicit.
It looks like you want
Target.Address
but you are getting
Target.Value

NickHK

"Dan" wrote in message
...
I have this code in my project, and double clicking on the sheet doesn't
appear to do anything:

Public Sub BeforeDoubleClick(ByVal SelRange As Range, Cancel As Boolean)
Cancel = True
msgbox "Range= " & SelRange
End Sub

What am I doing wrong?

Thanks -
Dan




  #5   Report Post  
Posted to microsoft.public.excel.programming
dan dan is offline
external usenet poster
 
Posts: 866
Default BeforeDoubleClick doesn't seem to work

Another thing - in the syntax for the function, Target is supposed to be a
range. However, Target contains the value of the cell that was dbl-clicked.
Not the range as I expected.
I need to determine the cell name that was dbl clicked, then determine if
the cell is inside a specific range or not.

Why is Target the cell value, not it's range?

Thanks -

"Dan" wrote:

Thanks Nick -
My top left combo box doesn't contain anything other than "(General)", and
the right one has all of my subs listed, but nothing else.
How do I get these combo boxes to give me other options?
Thanks!

"NickHK" wrote:

Dan,
You cannot make up events and expect Excel to fire them. It is best to let
Excel create the routine stubs for you to ensure they are correct.
On the worksheet module, select Worksheet from the top-left combo box then
select the required event from the top-right combo box.
See the difference:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
Cancel = True
MsgBox "Range= " & Target
End Sub

Also, I avoid using default properties. Be explicit.
It looks like you want
Target.Address
but you are getting
Target.Value

NickHK

"Dan" wrote in message
...
I have this code in my project, and double clicking on the sheet doesn't
appear to do anything:

Public Sub BeforeDoubleClick(ByVal SelRange As Range, Cancel As Boolean)
Cancel = True
msgbox "Range= " & SelRange
End Sub

What am I doing wrong?

Thanks -
Dan






  #6   Report Post  
Posted to microsoft.public.excel.programming
Jay Jay is offline
external usenet poster
 
Posts: 671
Default BeforeDoubleClick doesn't seem to work

Hi Dan -

VBA does refer to €˜Target As Range because it is a range, but by default
rules of syntax for the BeforeDoubleClick procedure, it converts Target to
its value using ByVal. The conversion imparts a measure of protection
against unintentionally modifiying Targets cell contents in the procedure.
You cant modify the cells contents simply referring to €˜Target. It must be
done explicitly somehow, ensuring that changes are intentional.

Modifying any component of the argument list results in an error. This is
the reason Nick stressed the technique of €˜letting excel create the routine
stubs. The VB editor sets the ground rules for the procedure by
automatically providing a syntax €˜boilerplate; violating the boilerplate
ground rules results in errors.

That being said, once created, the procedure can be enhanced and copied as
long as you dont edit the €˜boilerplate syntax. Below is a stab at your
latest specifications. Copy it to the proper worksheet module and modify the
range in the third line€¦
------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
Cancel = True

Set containmentRng = Range("A1:A79") ' <==enter your sepcific range here.
Set isect = Application.Intersect(Cells(Target.Row, Target.Column),
containmentRng)

If isect Is Nothing Then
MsgBox "Double-clicked cell IS NOT inside containment range."
Else
MsgBox "Double-clicked cell IS inside containment range."
End If

End Sub
------------------------
--
Jay


"Dan" wrote:

Another thing - in the syntax for the function, Target is supposed to be a
range. However, Target contains the value of the cell that was dbl-clicked.
Not the range as I expected.
I need to determine the cell name that was dbl clicked, then determine if
the cell is inside a specific range or not.

Why is Target the cell value, not it's range?

Thanks -

"Dan" wrote:

Thanks Nick -
My top left combo box doesn't contain anything other than "(General)", and
the right one has all of my subs listed, but nothing else.
How do I get these combo boxes to give me other options?
Thanks!

"NickHK" wrote:

Dan,
You cannot make up events and expect Excel to fire them. It is best to let
Excel create the routine stubs for you to ensure they are correct.
On the worksheet module, select Worksheet from the top-left combo box then
select the required event from the top-right combo box.
See the difference:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
Cancel = True
MsgBox "Range= " & Target
End Sub

Also, I avoid using default properties. Be explicit.
It looks like you want
Target.Address
but you are getting
Target.Value

NickHK

"Dan" wrote in message
...
I have this code in my project, and double clicking on the sheet doesn't
appear to do anything:

Public Sub BeforeDoubleClick(ByVal SelRange As Range, Cancel As Boolean)
Cancel = True
msgbox "Range= " & SelRange
End Sub

What am I doing wrong?

Thanks -
Dan



  #7   Report Post  
Posted to microsoft.public.excel.programming
Jay Jay is offline
external usenet poster
 
Posts: 671
Default BeforeDoubleClick doesn't seem to work

Hi Dan -

It sounds like you are on the right track, but in the wrong place. Based on
what you are seeing in the comboboxes (General and your procedure names), you
are in a General module. As Nick instructed earlier, you need to develop
your BeforeDoubleClick event procedure on a Worksheet module instead.

1. To get there, open the VB Editor and look in the Project Explorer (in the
left-hand pane).

2. Find your project, open the folder named "Microsoft Excel Objects", and
double-click on the worksheet where your BeforeDoubleClick procedure will
apply. This opens a worksheet module where you can build your
BeforeDoubleClick event procedure.

3. Change the left-hand combobox at the top of the main editor window to
"Worksheet". Then, the right-hand combobox will show a list of events.
Choose BeforeDoubleClick and the editor will produce a procedure a valid code
template for you to enhance as Nick has described.

4. See my response to your next post for a sample of code. Make sure you
copy it to the Worksheet module.

--
Jay



"Dan" wrote:

Thanks Nick -
My top left combo box doesn't contain anything other than "(General)", and
the right one has all of my subs listed, but nothing else.
How do I get these combo boxes to give me other options?
Thanks!

"NickHK" wrote:

Dan,
You cannot make up events and expect Excel to fire them. It is best to let
Excel create the routine stubs for you to ensure they are correct.
On the worksheet module, select Worksheet from the top-left combo box then
select the required event from the top-right combo box.
See the difference:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
Cancel = True
MsgBox "Range= " & Target
End Sub

Also, I avoid using default properties. Be explicit.
It looks like you want
Target.Address
but you are getting
Target.Value

NickHK

"Dan" wrote in message
...
I have this code in my project, and double clicking on the sheet doesn't
appear to do anything:

Public Sub BeforeDoubleClick(ByVal SelRange As Range, Cancel As Boolean)
Cancel = True
msgbox "Range= " & SelRange
End Sub

What am I doing wrong?

Thanks -
Dan




  #8   Report Post  
Posted to microsoft.public.excel.programming
dan dan is offline
external usenet poster
 
Posts: 866
Default BeforeDoubleClick doesn't seem to work

Nick, Jay, thank you both. I have it working now. I appreciate your patient
explanations. I am only a novice VB programmer, using it for little apps to
help with work.
I have a new challenge... I'll be posting it. Been working on it all day and
can't make it work.

Dan

"Jay" wrote:

Hi Dan -

It sounds like you are on the right track, but in the wrong place. Based on
what you are seeing in the comboboxes (General and your procedure names), you
are in a General module. As Nick instructed earlier, you need to develop
your BeforeDoubleClick event procedure on a Worksheet module instead.

1. To get there, open the VB Editor and look in the Project Explorer (in the
left-hand pane).

2. Find your project, open the folder named "Microsoft Excel Objects", and
double-click on the worksheet where your BeforeDoubleClick procedure will
apply. This opens a worksheet module where you can build your
BeforeDoubleClick event procedure.

3. Change the left-hand combobox at the top of the main editor window to
"Worksheet". Then, the right-hand combobox will show a list of events.
Choose BeforeDoubleClick and the editor will produce a procedure a valid code
template for you to enhance as Nick has described.

4. See my response to your next post for a sample of code. Make sure you
copy it to the Worksheet module.

--
Jay



"Dan" wrote:

Thanks Nick -
My top left combo box doesn't contain anything other than "(General)", and
the right one has all of my subs listed, but nothing else.
How do I get these combo boxes to give me other options?
Thanks!

"NickHK" wrote:

Dan,
You cannot make up events and expect Excel to fire them. It is best to let
Excel create the routine stubs for you to ensure they are correct.
On the worksheet module, select Worksheet from the top-left combo box then
select the required event from the top-right combo box.
See the difference:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
Cancel = True
MsgBox "Range= " & Target
End Sub

Also, I avoid using default properties. Be explicit.
It looks like you want
Target.Address
but you are getting
Target.Value

NickHK

"Dan" wrote in message
...
I have this code in my project, and double clicking on the sheet doesn't
appear to do anything:

Public Sub BeforeDoubleClick(ByVal SelRange As Range, Cancel As Boolean)
Cancel = True
msgbox "Range= " & SelRange
End Sub

What am I doing wrong?

Thanks -
Dan



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
BeforeDoubleClick processing question(s) Forms / Send to .....VBA or Macro? Excel Programming 2 November 8th 06 04:06 AM
BeforeDoubleClick Cancel=True not working Reggie Excel Programming 1 September 20th 05 03:43 AM
beforeDoubleClick (target, true) mark kubicki Excel Programming 2 May 10th 04 10:33 PM
Selective protection of charts - permit only beforedoubleclick? Jon Peltier[_5_] Excel Programming 0 January 23rd 04 11:41 PM
Selective protection of charts: permit only BeforeDoubleClick ? David Powell Excel Programming 0 July 14th 03 01:14 AM


All times are GMT +1. The time now is 03:41 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"