ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   An 'event' of zero activity? (https://www.excelbanter.com/excel-programming/311573-event-zero-activity.html)

don bowyer

An 'event' of zero activity?
 
I have 2 workbooks Wb1 & Wb2 open
I have code which does something under the WindowActivate
event in the ThisWorkbook Object for each Wb.
If I am displaying Wb1 and use Window on the main workbook
menu to switch to
Wb2, then the WindowActivate event is triggered for Wb2,
as expected, and my code
runs.
If I then use File, Close on main workbook menu to close
Wb2, the WindowActivate
event is triggered for Wb1 and my code runs.
Now the rub. I have code options which close the active
Wb:-
Workbooks("Filename.xls").Close savechanges:=False
Workbooks("Filename.xls").Close savechanges:=True
If I use either of these to close Wb1 both do as required,
BUT do not trigger the WindowActivate for Wb2.
Maybe that's how Excel VBA works, but I do need a trigger
for Wb(x)
when I use my code to close Wb(y)
Am looking for something that don't exist?
Any help would be much appreciated.
Don Bowyer


Chip Pearson

An 'event' of zero activity?
 
Don,

The Activate of the second workbook does fire when the first
workbook is closed (and vice versa). I suspect you have
something else going on in the logic of your code. By chance,
are you setting EnableEvents to False anywhere?


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com



"don bowyer" wrote in
message ...
I have 2 workbooks Wb1 & Wb2 open
I have code which does something under the WindowActivate
event in the ThisWorkbook Object for each Wb.
If I am displaying Wb1 and use Window on the main workbook
menu to switch to
Wb2, then the WindowActivate event is triggered for Wb2,
as expected, and my code
runs.
If I then use File, Close on main workbook menu to close
Wb2, the WindowActivate
event is triggered for Wb1 and my code runs.
Now the rub. I have code options which close the active
Wb:-
Workbooks("Filename.xls").Close savechanges:=False
Workbooks("Filename.xls").Close savechanges:=True
If I use either of these to close Wb1 both do as required,
BUT do not trigger the WindowActivate for Wb2.
Maybe that's how Excel VBA works, but I do need a trigger
for Wb(x)
when I use my code to close Wb(y)
Am looking for something that don't exist?
Any help would be much appreciated.
Don Bowyer




Tom Ogilvy

An 'event' of zero activity?
 
Why not use code that activates the workbook before closing it.

--
Regards,
Tom Ogilvy


"don bowyer" wrote in message
...
I have 2 workbooks Wb1 & Wb2 open
I have code which does something under the WindowActivate
event in the ThisWorkbook Object for each Wb.
If I am displaying Wb1 and use Window on the main workbook
menu to switch to
Wb2, then the WindowActivate event is triggered for Wb2,
as expected, and my code
runs.
If I then use File, Close on main workbook menu to close
Wb2, the WindowActivate
event is triggered for Wb1 and my code runs.
Now the rub. I have code options which close the active
Wb:-
Workbooks("Filename.xls").Close savechanges:=False
Workbooks("Filename.xls").Close savechanges:=True
If I use either of these to close Wb1 both do as required,
BUT do not trigger the WindowActivate for Wb2.
Maybe that's how Excel VBA works, but I do need a trigger
for Wb(x)
when I use my code to close Wb(y)
Am looking for something that don't exist?
Any help would be much appreciated.
Don Bowyer




No Name

An 'event' of zero activity?
 
Thanks for the reply Chip.
I haven't set EnableEvents to False.
Maybe there is something else going on in my code. I'll
look at that, but don't see what it can be if the Activate
event SHOULD be happening.
Don Bowyer
-----Original Message-----
Don,

The Activate of the second workbook does fire when the

first
workbook is closed (and vice versa). I suspect you have
something else going on in the logic of your code. By

chance,
are you setting EnableEvents to False anywhere?


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com



"don bowyer" wrote

in
message ...
I have 2 workbooks Wb1 & Wb2 open
I have code which does something under the

WindowActivate
event in the ThisWorkbook Object for each Wb.
If I am displaying Wb1 and use Window on the main

workbook
menu to switch to
Wb2, then the WindowActivate event is triggered for Wb2,
as expected, and my code
runs.
If I then use File, Close on main workbook menu to close
Wb2, the WindowActivate
event is triggered for Wb1 and my code runs.
Now the rub. I have code options which close the active
Wb:-
Workbooks("Filename.xls").Close savechanges:=False
Workbooks("Filename.xls").Close savechanges:=True
If I use either of these to close Wb1 both do as

required,
BUT do not trigger the WindowActivate for Wb2.
Maybe that's how Excel VBA works, but I do need a

trigger
for Wb(x)
when I use my code to close Wb(y)
Am looking for something that don't exist?
Any help would be much appreciated.
Don Bowyer



.


No Name

An 'event' of zero activity?
 
Hi Tom - thanks for the reply.
Presumably you mean put some code in Wb1 to activate Wb2
and vice-versa.
Don Bowyer
-----Original Message-----
Why not use code that activates the workbook before

closing it.

--
Regards,
Tom Ogilvy


"don bowyer" wrote

in message
...
I have 2 workbooks Wb1 & Wb2 open
I have code which does something under the

WindowActivate
event in the ThisWorkbook Object for each Wb.
If I am displaying Wb1 and use Window on the main

workbook
menu to switch to
Wb2, then the WindowActivate event is triggered for Wb2,
as expected, and my code
runs.
If I then use File, Close on main workbook menu to close
Wb2, the WindowActivate
event is triggered for Wb1 and my code runs.
Now the rub. I have code options which close the active
Wb:-
Workbooks("Filename.xls").Close savechanges:=False
Workbooks("Filename.xls").Close savechanges:=True
If I use either of these to close Wb1 both do as

required,
BUT do not trigger the WindowActivate for Wb2.
Maybe that's how Excel VBA works, but I do need a

trigger
for Wb(x)
when I use my code to close Wb(y)
Am looking for something that don't exist?
Any help would be much appreciated.
Don Bowyer



.


Tom Ogilvy

An 'event' of zero activity?
 
You showed code that closes the workbooks:

Workbooks("Filename.xls").Close savechanges:=False
Workbooks("Filename.xls").Close savechanges:=True

so activate each workbook before closing was my thought. But Chip said the
event should fire, so I would believe him.

--
Regards,
Tom Ogilvy

wrote in message
...
Hi Tom - thanks for the reply.
Presumably you mean put some code in Wb1 to activate Wb2
and vice-versa.
Don Bowyer
-----Original Message-----
Why not use code that activates the workbook before

closing it.

--
Regards,
Tom Ogilvy


"don bowyer" wrote

in message
...
I have 2 workbooks Wb1 & Wb2 open
I have code which does something under the

WindowActivate
event in the ThisWorkbook Object for each Wb.
If I am displaying Wb1 and use Window on the main

workbook
menu to switch to
Wb2, then the WindowActivate event is triggered for Wb2,
as expected, and my code
runs.
If I then use File, Close on main workbook menu to close
Wb2, the WindowActivate
event is triggered for Wb1 and my code runs.
Now the rub. I have code options which close the active
Wb:-
Workbooks("Filename.xls").Close savechanges:=False
Workbooks("Filename.xls").Close savechanges:=True
If I use either of these to close Wb1 both do as

required,
BUT do not trigger the WindowActivate for Wb2.
Maybe that's how Excel VBA works, but I do need a

trigger
for Wb(x)
when I use my code to close Wb(y)
Am looking for something that don't exist?
Any help would be much appreciated.
Don Bowyer



.





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

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