Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
apologise for asking trivial question.
I have gone through the various instructions in the NG and other pages by MVPs. still there are many doubts. this may be a trivial example Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'comment-some cells are in bold font Application.EnableEvents = False If Target.Font.Bold = True Then Range("a20").Clear Range("a20") = 12345 Else Range("a20").Clear End If Application.EnableEvents = True End Sub why does the change of cells not fire the event procedure. where is my mistake. If I want to debug at what line should I introduce a breakpoint.(I learnt it should be inthe first execuable statement) when I use the if statment as for example if target.value 4 etc the event procedure is fired of course in standard module it works. thanks and regarads. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
The procedure works for me - XL2000, winXP.
Mike F "R.VENKATARAMAN" $$$ wrote in message ... apologise for asking trivial question. I have gone through the various instructions in the NG and other pages by MVPs. still there are many doubts. this may be a trivial example Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'comment-some cells are in bold font Application.EnableEvents = False If Target.Font.Bold = True Then Range("a20").Clear Range("a20") = 12345 Else Range("a20").Clear End If Application.EnableEvents = True End Sub why does the change of cells not fire the event procedure. where is my mistake. If I want to debug at what line should I introduce a breakpoint.(I learnt it should be inthe first execuable statement) when I use the if statment as for example if target.value 4 etc the event procedure is fired of course in standard module it works. thanks and regarads. |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Did you put the code in a worksheet module? It won't fire unless it is in
such a module. -- HTH Bob Phillips "R.VENKATARAMAN" $$$ wrote in message ... apologise for asking trivial question. I have gone through the various instructions in the NG and other pages by MVPs. still there are many doubts. this may be a trivial example Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'comment-some cells are in bold font Application.EnableEvents = False If Target.Font.Bold = True Then Range("a20").Clear Range("a20") = 12345 Else Range("a20").Clear End If Application.EnableEvents = True End Sub why does the change of cells not fire the event procedure. where is my mistake. If I want to debug at what line should I introduce a breakpoint.(I learnt it should be inthe first execuable statement) when I use the if statment as for example if target.value 4 etc the event procedure is fired of course in standard module it works. thanks and regarads. |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
There is a good chance in your testing, you experience an error in the event
procedure. At that point, you had Application.EnableEvents = False so when the error stopped execution, the events were never turned back on. Put in a sub in a general module Sub SetEventsON() Application.EnableEvents = True End Sub then you can turn events back on if you start having problems. Also, when testing you can put a msgbox command as the first line. Then if the problem is really a poorly written If statement, you will still know your event is firing. Private Sub Worksheet_SelectionChange(ByVal Target As Range) msgbox "In SelectionChange, Target: " & Target.Address(0,0) 'comment-some cells are in bold font Application.EnableEvents = False If Target.Font.Bold = True Then Range("a20").Clear Range("a20") = 12345 Else Range("a20").Clear End If Application.EnableEvents = True End Sub Once you get through debugging your event, you can use error trapping to try to ensure events are always enabled: Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error goto ErrHandler 'comment-some cells are in bold font Application.EnableEvents = False If Target.Font.Bold = True Then Range("a20").Clear Range("a20") = 12345 Else Range("a20").Clear End If ErrHandler: Application.EnableEvents = True End Sub -- Regards, Tom Ogilvy "R.VENKATARAMAN" $$$ wrote in message ... apologise for asking trivial question. I have gone through the various instructions in the NG and other pages by MVPs. still there are many doubts. this may be a trivial example Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'comment-some cells are in bold font Application.EnableEvents = False If Target.Font.Bold = True Then Range("a20").Clear Range("a20") = 12345 Else Range("a20").Clear End If Application.EnableEvents = True End Sub why does the change of cells not fire the event procedure. where is my mistake. If I want to debug at what line should I introduce a breakpoint.(I learnt it should be inthe first execuable statement) when I use the if statment as for example if target.value 4 etc the event procedure is fired of course in standard module it works. thanks and regarads. |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
thank all of you MVPs for giving me some idea. I would test the seteventson
sub for debugging. In the meanwhile I found my mistake. I did go the worksheet code by rightclicking sheet tab and clicking view code. therein I must have forgotten to click the worksheet and the code statements were wrongly originally parked under <general. when I cut and paste the statements under worksheet it works fine. sorry for the trouble. I was misled because the stataements were threre both under general and worksheet. for debugging I will follow the seteventon sub given by Mr. Togilvy;. I got some(only some) of the cobwebs cleared. I am still on learning curve thanks and regarads. Tom Ogilvy wrote in message ... There is a good chance in your testing, you experience an error in the event procedure. At that point, you had Application.EnableEvents = False so when the error stopped execution, the events were never turned back on. Put in a sub in a general module Sub SetEventsON() Application.EnableEvents = True End Sub then you can turn events back on if you start having problems. Also, when testing you can put a msgbox command as the first line. Then if the problem is really a poorly written If statement, you will still know your event is firing. Private Sub Worksheet_SelectionChange(ByVal Target As Range) msgbox "In SelectionChange, Target: " & Target.Address(0,0) 'comment-some cells are in bold font Application.EnableEvents = False If Target.Font.Bold = True Then Range("a20").Clear Range("a20") = 12345 Else Range("a20").Clear End If Application.EnableEvents = True End Sub Once you get through debugging your event, you can use error trapping to try to ensure events are always enabled: Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error goto ErrHandler 'comment-some cells are in bold font Application.EnableEvents = False If Target.Font.Bold = True Then Range("a20").Clear Range("a20") = 12345 Else Range("a20").Clear End If ErrHandler: Application.EnableEvents = True End Sub -- Regards, Tom Ogilvy "R.VENKATARAMAN" $$$ wrote in message ... apologise for asking trivial question. I have gone through the various instructions in the NG and other pages by MVPs. still there are many doubts. this may be a trivial example Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'comment-some cells are in bold font Application.EnableEvents = False If Target.Font.Bold = True Then Range("a20").Clear Range("a20") = 12345 Else Range("a20").Clear End If Application.EnableEvents = True End Sub why does the change of cells not fire the event procedure. where is my mistake. If I want to debug at what line should I introduce a breakpoint.(I learnt it should be inthe first execuable statement) when I use the if statment as for example if target.value 4 etc the event procedure is fired of course in standard module it works. thanks and regarads. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Event procedures (and the temple of doom) | Excel Programming | |||
problems with Add-In event procedures when moving WB files between computers | Excel Programming | |||
Event Procedures: Event on Worksheet to fire Event on another Worksheet | Excel Programming | |||
Passing ARGUMENTS between event procedures of a USERFORM | Excel Programming | |||
Creating Event procedures from a macro | Excel Programming |