ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Change event for data validation listbox (https://www.excelbanter.com/excel-programming/320715-change-event-data-validation-listbox.html)

Steve Parkinson

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

Bernie Deitrick

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




Steve Parkinson[_2_]

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





Bernie Deitrick

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







Steve Parkinson[_2_]

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








All times are GMT +1. The time now is 11:45 AM.

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