How do Excel define the application area?

E

Eric

When I run a macro as shown below, how does excel define the application
area?

Disable re-calculation option before processing coding
After processing coding, enable re-calculation option

calcmode = application.calculation
application.calculation = xlCalculationManual
'open worksheet2.xls by using worksheet1's macro
application.calculation = calcmode

Case 1
If I open an excel worksheet1.xls, then I open worksheet2.xls within this
open worksheet1, do I open 1 excel application? If I set calcmode, will it
apply to both worksheets at this moment?

Case 2
If I open an excel worksheet1.xls, then I open another excel application and
open worksheet2.xls, do I open 2 excel application? If I set calcmode for
worksheet2, will it apply to worksheet1.xls at this moment?

Does anyone have any suggestions?
Thanks in advance for any suggestions
Eric
 
D

Dave Peterson

The excel application is the instance of excel that's running.

And the calculation setting in excel is application-wide. It affects all the
workbooks that are open in that session/instance. (That's #1, right.)

As for number 2, you can start another instance of excel. I don't like to do
this. It makes sharing information (like formulas) difficult between two
workbooks open in different instances.

But when I need to have two instances open, then I open one any way I want and
then I use:
Windows start button
Run
Excel
and hit enter
(flying windows button-r is a quick way to get to that run dialog)

Now I have two instances of excel running and each doesn't know about what's
happening in the other.

=========
But if you're running a macro that changes the calculation mode, does some work
and changes it back, there's not much reason to use two instances.

Calculation is manual for a small (usually) amount of time and while the macro
is running, there's not much you're going to do anyway.
 
E

Eric

I would like to know when I run a macro to open a worksheet by following codes,
does excel perform updatelinks function first, before perform re-calculate
function?
or do both functions perform simultaneously?
Do you have any suggestions?
Thank you very much for any suggestions
Eric

Set wkbk = Workbooks.Open(Filename:=WkbkName, UpdateLinks:=3)
 
D

Dave Peterson

I'd suggest that you do some testing.

Add a function that's based on time to a worksheet (and maybe has a line with
Stop on it) to the workbook that's opening.

Then change some values in the workbooks that it uses as links.

Then back to the workbook with the code and see what happens.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top