ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Worksheet SelectionChange event (https://www.excelbanter.com/excel-programming/332505-worksheet-selectionchange-event.html)

[email protected]

Worksheet SelectionChange event
 
Hi, I have the following bit of code attached to a worksheet object:


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

On Error Resume Next
If Target = Range("job_no") Then
Application.ScreenUpdating = False
Worksheets("summary").Calculate
Call ...MyCode.....
Application.ScreenUpdating = True
End If

End Sub

This works fine when the cell called "job_no" is selected or changed,
however it also runs when some other cells, (but not all), containing
just text, no formulae, are also changed.

Can anyone suggest what may be happening. I only want it to run if the
"job_no" cell is changed/selected.

Usual TIA

Rgds


Bob Phillips[_7_]

Worksheet SelectionChange event
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

On Error Resume Next
If Not Intersect(Target, Range("job_no")) Is Nothing Then
Application.ScreenUpdating = False
Worksheets("summary").Calculate
'Call ...MyCode.....
Application.ScreenUpdating = True
End If

End Sub


--
HTH

Bob Phillips

wrote in message
ups.com...
Hi, I have the following bit of code attached to a worksheet object:


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

On Error Resume Next
If Target = Range("job_no") Then
Application.ScreenUpdating = False
Worksheets("summary").Calculate
Call ...MyCode.....
Application.ScreenUpdating = True
End If

End Sub

This works fine when the cell called "job_no" is selected or changed,
however it also runs when some other cells, (but not all), containing
just text, no formulae, are also changed.

Can anyone suggest what may be happening. I only want it to run if the
"job_no" cell is changed/selected.

Usual TIA

Rgds




keepITcool

Worksheet SelectionChange event
 

you want the CHANGE event not the SELECTIONCHANGE event.

note that if you are only monitoring certain cells
you should exit from the eventhandler as quickly as possible.

e.g. if target.count 1 then exit sub


note that if your evetn handler (or procedures called from it)
make any changes to cells you should temporarily suspend event
monitoring to prevent looping.

application.enableevents = false
'make your changes
application.enableevents = true






--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


wrote :

Hi, I have the following bit of code attached to a worksheet object:


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

On Error Resume Next
If Target = Range("job_no") Then
Application.ScreenUpdating = False
Worksheets("summary").Calculate
Call ...MyCode.....
Application.ScreenUpdating = True
End If

End Sub

This works fine when the cell called "job_no" is selected or changed,
however it also runs when some other cells, (but not all), containing
just text, no formulae, are also changed.

Can anyone suggest what may be happening. I only want it to run if the
"job_no" cell is changed/selected.

Usual TIA

Rgds


Richard Buttrey

Worksheet SelectionChange event
 
On Wed, 22 Jun 2005 11:36:14 +0100, "Bob Phillips"
wrote:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

On Error Resume Next
If Not Intersect(Target, Range("job_no")) Is Nothing Then
Application.ScreenUpdating = False
Worksheets("summary").Calculate
'Call ...MyCode.....
Application.ScreenUpdating = True
End If

End Sub



Many thanks Bob. That works fine.

So that I can better understand my original problem, what does the
'Not Intersect....Is nothing' do/mean in English?

Rgds
__
Richard Buttrey
Grappenhall, Cheshire, UK
__________________________

Bob Phillips[_7_]

Worksheet SelectionChange event
 
What it is doing is looking to see whether the selected range of cells (or
cell) is within a specified range. It does this by comparing the two range
objects using the intersect method, which returns a Range object that
represents the rectangular intersection of the two ranges. SO, if they do
intersect, the returned range object will represent a range of cells on the
worksheet, that is Not Nothing, but if they don't, it will not, that is
Nothing.

Does that make sense?

BTW is Grappenhall anywhere near Jodrell Bank, and Twemlow?

--
HTH

Bob Phillips

"Richard Buttrey" wrote in
message ...


Many thanks Bob. That works fine.

So that I can better understand my original problem, what does the
'Not Intersect....Is nothing' do/mean in English?

Rgds
__
Richard Buttrey
Grappenhall, Cheshire, UK
__________________________




Richard Buttrey

Worksheet SelectionChange event
 
On Wed, 22 Jun 2005 23:39:41 +0100, "Bob Phillips"
wrote:

What it is doing is looking to see whether the selected range of cells (or
cell) is within a specified range. It does this by comparing the two range
objects using the intersect method, which returns a Range object that
represents the rectangular intersection of the two ranges. SO, if they do
intersect, the returned range object will represent a range of cells on the
worksheet, that is Not Nothing, but if they don't, it will not, that is
Nothing.

Does that make sense?


Indeed it does. Thanks

BTW is Grappenhall anywhere near Jodrell Bank, and Twemlow?


It is indeed, well within 15 miles or so. The Jodrell Bank telescope
can be seen quite easily from the higher ground just outside
Grappenhall village.

Rgds

__
Richard Buttrey
Grappenhall, Cheshire, UK
__________________________

Bob Phillips[_7_]

Worksheet SelectionChange event
 

"Richard Buttrey" wrote in
message ...
On Wed, 22 Jun 2005 23:39:41 +0100, "Bob Phillips"
wrote:

BTW is Grappenhall anywhere near Jodrell Bank, and Twemlow?


It is indeed, well within 15 miles or so. The Jodrell Bank telescope
can be seen quite easily from the higher ground just outside
Grappenhall village.


Just wondered as I used to go to Knutsford a lot, and would visit the
villages around Jodrell. Some of the roads in our area are named after those
villages.




All times are GMT +1. The time now is 01:32 PM.

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