Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Isnot there anyone who knows this?


Have already posted my problem, but there was no reply. Here it goes
again:

I have this spreadsheet that is linked to the internet. It uses some
add in functions to extract info from the internet. As soon as I open
this sheet, all the values get updated. Now, this sheet is huge. It
takes around 5-10 minutes to extract all the info. I have another
spreadsheet which has a macro that copies relevant info from the first
spreadsheet and pastes special the values. And this macro is a part of
a much larger program.

Now the problem: Once I run this program, the macro just opens the
first spreadsheet and copies from there and pastes special. The trouble
is that the first spreadsheet hasnot calculated anything by that time.
So what I get is a 1000 #N.A.s. How can I ask the macro not to run till
the first spreadsheet has stopped calculating?
(I have tried the wait function. But firstly, I need to give an
absolute time and I dont want to change the code everytime I have to
run the program (No point of whole automation). Also, the time taken by
spreadsheet randomly varies between 2 to 10 minutes depending on the
processor speed).

Please help.


--
kapil.dalal
------------------------------------------------------------------------
kapil.dalal's Profile: http://www.excelforum.com/member.php...o&userid=23853
View this thread: http://www.excelforum.com/showthread...hreadid=375301

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 595
Default Isnot there anyone who knows this?

kapil

Set calculation to manual, open the workbook, do a calc, then set calc back
to what it was. Like this

Sub dostuff()

Dim wb As Workbook
Dim lCalc As Long

lCalc = Application.Calculation
Application.Calculation = xlCalculationManual

Set wb = Workbooks.Open("C:\Dick\wbmyfunc.xls")

With wb.Sheets(1)
.Range("a2").Value = 4 'simulate getting values from web

.Calculate 'program won't resume until this is done
End With

Application.Calculation = lCalc

MsgBox wb.Sheets(1).Range("b3").Value 'do stuff that needs the right
values

End Sub

--
Dick Kusleika
Excel MVP
Daily Dose of Excel
www.dicks-blog.com

kapil.dalal wrote:
Have already posted my problem, but there was no reply. Here it goes
again:

I have this spreadsheet that is linked to the internet. It uses some
add in functions to extract info from the internet. As soon as I open
this sheet, all the values get updated. Now, this sheet is huge. It
takes around 5-10 minutes to extract all the info. I have another
spreadsheet which has a macro that copies relevant info from the first
spreadsheet and pastes special the values. And this macro is a part of
a much larger program.

Now the problem: Once I run this program, the macro just opens the
first spreadsheet and copies from there and pastes special. The
trouble is that the first spreadsheet hasnot calculated anything by
that time. So what I get is a 1000 #N.A.s. How can I ask the macro
not to run till the first spreadsheet has stopped calculating?
(I have tried the wait function. But firstly, I need to give an
absolute time and I dont want to change the code everytime I have to
run the program (No point of whole automation). Also, the time taken
by spreadsheet randomly varies between 2 to 10 minutes depending on
the processor speed).

Please help.



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 162
Default Isnot there anyone who knows this?

What is triggering the 2nd macro to run?

The most obvious solution is to wait until the 1st macro is done before
running the second macro.

An alternate method would be to store a readiness state variable in a
cell somewhere in the workbook and have the second macro poll that
before running.

There are also OO-oriented and event-driven approaches that could be
done as well. It's a hard question to answer without knowing why your
2nd macro is trying to run at the same time as the 1st macro.

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4,391
Default Isnot there anyone who knows this?

kapil,
Look into the .BackgroundRefresh property of your web query.

NickHK

"kapil.dalal"
wrote in message
...

Have already posted my problem, but there was no reply. Here it goes
again:

I have this spreadsheet that is linked to the internet. It uses some
add in functions to extract info from the internet. As soon as I open
this sheet, all the values get updated. Now, this sheet is huge. It
takes around 5-10 minutes to extract all the info. I have another
spreadsheet which has a macro that copies relevant info from the first
spreadsheet and pastes special the values. And this macro is a part of
a much larger program.

Now the problem: Once I run this program, the macro just opens the
first spreadsheet and copies from there and pastes special. The trouble
is that the first spreadsheet hasnot calculated anything by that time.
So what I get is a 1000 #N.A.s. How can I ask the macro not to run till
the first spreadsheet has stopped calculating?
(I have tried the wait function. But firstly, I need to give an
absolute time and I dont want to change the code everytime I have to
run the program (No point of whole automation). Also, the time taken by
spreadsheet randomly varies between 2 to 10 minutes depending on the
processor speed).

Please help.


--
kapil.dalal
------------------------------------------------------------------------
kapil.dalal's Profile:

http://www.excelforum.com/member.php...o&userid=23853
View this thread: http://www.excelforum.com/showthread...hreadid=375301



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
Isnot there anyone who knows this? kapil.dalal Excel Discussion (Misc queries) 4 June 1st 05 12:13 AM


All times are GMT +1. The time now is 05:17 PM.

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

About Us

"It's about Microsoft Excel"