Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Change event for data validation listbox

I'm trying to use the worksheet_change event to trigger some changes on a
worksheet. I have a cell with values restricted to a list, using the Data,
Validation menu. Picking a cell value from this listbox does not appear to
trigger a change event.

What can I do to get round this problem? I don't want to use a separate
listbox control since, in addition to trying to trigger code from the listbox
value, it is also used in calculations using formulae in other cells.

Any help appreciated.

Steve
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,441
Default Change event for data validation listbox

Steve,

Selecting a value from a Data Validation List should trigger the change
event - at least in Excel XP it does. Are you sure you have events enabled?
Often, if an error within an event will leave the application.enableevents
set to false. Try running this code:

Sub ResetEvents()
Application.EnableEvents = True
End Sub

HTH,
Bernie
MS Excel MVP

"Steve Parkinson" <Steve wrote in
message ...
I'm trying to use the worksheet_change event to trigger some changes on a
worksheet. I have a cell with values restricted to a list, using the Data,
Validation menu. Picking a cell value from this listbox does not appear to
trigger a change event.

What can I do to get round this problem? I don't want to use a separate
listbox control since, in addition to trying to trigger code from the

listbox
value, it is also used in calculations using formulae in other cells.

Any help appreciated.

Steve



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default Change event for data validation listbox

Thanks Bernie - but no joy.

I should have added that I'm in Excel 97. Perhaps it doesn't function
correctly in that version.

If you have any other suggestions....

Steve

"Bernie Deitrick" wrote:

Steve,

Selecting a value from a Data Validation List should trigger the change
event - at least in Excel XP it does. Are you sure you have events enabled?
Often, if an error within an event will leave the application.enableevents
set to false. Try running this code:

Sub ResetEvents()
Application.EnableEvents = True
End Sub

HTH,
Bernie
MS Excel MVP

"Steve Parkinson" <Steve wrote in
message ...
I'm trying to use the worksheet_change event to trigger some changes on a
worksheet. I have a cell with values restricted to a list, using the Data,
Validation menu. Picking a cell value from this listbox does not appear to
trigger a change event.

What can I do to get round this problem? I don't want to use a separate
listbox control since, in addition to trying to trigger code from the

listbox
value, it is also used in calculations using formulae in other cells.

Any help appreciated.

Steve




  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,441
Default Change event for data validation listbox

Steve,

One (of many) work-arounds for this is to use the worksheet calculate event.
Say that that cell is cell A1. In another cell, say B1, use the formula
=A1. You need a third cell, say C1, that will store the initial value.
Then, use the calculate event

Private Sub Worksheet_Calculate()
If Range("B1").Value < Range("C1").Value Then
'the value in A1 has changed
'Code to run here
MsgBox "Cell A1 has changed!"
Application.EnableEvents = False
Range("C1").Value = Range("B1").Value
Application.EnableEvents = True
End If
End Sub

HTH,
Bernie
MS Excel MVP

"Steve Parkinson" wrote in
message ...
Thanks Bernie - but no joy.

I should have added that I'm in Excel 97. Perhaps it doesn't function
correctly in that version.

If you have any other suggestions....

Steve

"Bernie Deitrick" wrote:

Steve,

Selecting a value from a Data Validation List should trigger the change
event - at least in Excel XP it does. Are you sure you have events

enabled?
Often, if an error within an event will leave the

application.enableevents
set to false. Try running this code:

Sub ResetEvents()
Application.EnableEvents = True
End Sub

HTH,
Bernie
MS Excel MVP

"Steve Parkinson" <Steve wrote in
message ...
I'm trying to use the worksheet_change event to trigger some changes

on a
worksheet. I have a cell with values restricted to a list, using the

Data,
Validation menu. Picking a cell value from this listbox does not

appear to
trigger a change event.

What can I do to get round this problem? I don't want to use a

separate
listbox control since, in addition to trying to trigger code from the

listbox
value, it is also used in calculations using formulae in other cells.

Any help appreciated.

Steve






  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default Change event for data validation listbox

Thanks Bernie - does the trick.

"Bernie Deitrick" wrote:

Steve,

One (of many) work-arounds for this is to use the worksheet calculate event.
Say that that cell is cell A1. In another cell, say B1, use the formula
=A1. You need a third cell, say C1, that will store the initial value.
Then, use the calculate event

Private Sub Worksheet_Calculate()
If Range("B1").Value < Range("C1").Value Then
'the value in A1 has changed
'Code to run here
MsgBox "Cell A1 has changed!"
Application.EnableEvents = False
Range("C1").Value = Range("B1").Value
Application.EnableEvents = True
End If
End Sub

HTH,
Bernie
MS Excel MVP

"Steve Parkinson" wrote in
message ...
Thanks Bernie - but no joy.

I should have added that I'm in Excel 97. Perhaps it doesn't function
correctly in that version.

If you have any other suggestions....

Steve

"Bernie Deitrick" wrote:

Steve,

Selecting a value from a Data Validation List should trigger the change
event - at least in Excel XP it does. Are you sure you have events

enabled?
Often, if an error within an event will leave the

application.enableevents
set to false. Try running this code:

Sub ResetEvents()
Application.EnableEvents = True
End Sub

HTH,
Bernie
MS Excel MVP

"Steve Parkinson" <Steve wrote in
message ...
I'm trying to use the worksheet_change event to trigger some changes

on a
worksheet. I have a cell with values restricted to a list, using the

Data,
Validation menu. Picking a cell value from this listbox does not

appear to
trigger a change event.

What can I do to get round this problem? I don't want to use a

separate
listbox control since, in addition to trying to trigger code from the
listbox
value, it is also used in calculations using formulae in other cells.

Any help appreciated.

Steve






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
Validation Procedure with a worksheet change event Bhupinder Rayat Excel Worksheet Functions 2 October 3rd 07 05:18 PM
Data Validation & ControlSource & Change event Ocker Excel Programming 4 November 5th 04 03:34 AM
Sheet change event and list validation question Nick Excel Programming 1 October 21st 04 01:20 PM
how to disable listbox change event Tom Ogilvy Excel Programming 0 July 27th 04 05:55 PM
Is refreshing listbox rowsource in listbox click event possible? Jeremy Gollehon[_2_] Excel Programming 4 September 25th 03 06:45 PM


All times are GMT +1. The time now is 07:22 PM.

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

About Us

"It's about Microsoft Excel"