ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Outline.ShowLevels rowlevels:=1 is slow (https://www.excelbanter.com/excel-programming/329637-outline-showlevels-rowlevels-%3D1-slow.html)

Jan Vente

Outline.ShowLevels rowlevels:=1 is slow
 
Hi All,

I've created a spreadsheet with a plan-board. The plan-board is filled from
a sql server-based planning system.
The planboard has two outline levels. There are ± 300 row groups.

At the end of the code for refreshing the plan-board is this line of code:
objWS.Outline.ShowLevels rowlevels:=1
Executing this codeline takes 4 seconds. Is there a way to make this faster?

Thanks,

Jan Vente
The Netherlands



Jim Cone

Outline.ShowLevels rowlevels:=1 is slow
 
Jan,

All I can do is guess, but give this a try...
(assumes objXL is the variable holding the reference to Excel)

objXL.ScreenUpdating = False
objWS.DisplayPageBreaks = False
objWS.Outline.ShowLevels 1 ' omit argument name
objWS.DisplayPageBreaks = True
objXL.ScreenUpdating = True

Regards,
Jim Cone
San Francisco, USA


"Jan Vente" wrote in message
...
Hi All,

I've created a spreadsheet with a plan-board. The plan-board is filled from
a sql server-based planning system.
The planboard has two outline levels. There are ± 300 row groups.

At the end of the code for refreshing the plan-board is this line of code:
objWS.Outline.ShowLevels rowlevels:=1
Executing this codeline takes 4 seconds. Is there a way to make this faster?

Thanks,
Jan Vente
The Netherlands



Jan Vente

Outline.ShowLevels rowlevels:=1 is slow
 
Jim,

I've already done that in my code. See listing. The statement <Showlevels 1
is still slow. Thanks for the suggestion.

Jan

With ObjXL
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With
objWS.DisplayPageBreaks = false
<other code
objWS.Outline.ShowLevels 1
With ObjXL
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With



"Jim Cone" schreef in bericht
...
Jan,

All I can do is guess, but give this a try...
(assumes objXL is the variable holding the reference to Excel)

objXL.ScreenUpdating = False
objWS.DisplayPageBreaks = False
objWS.Outline.ShowLevels 1 ' omit argument name
objWS.DisplayPageBreaks = True
objXL.ScreenUpdating = True

Regards,
Jim Cone
San Francisco, USA


"Jan Vente" wrote in message
...
Hi All,

I've created a spreadsheet with a plan-board. The plan-board is filled
from
a sql server-based planning system.
The planboard has two outline levels. There are ± 300 row groups.

At the end of the code for refreshing the plan-board is this line of
code:
objWS.Outline.ShowLevels rowlevels:=1
Executing this codeline takes 4 seconds. Is there a way to make this
faster?

Thanks,
Jan Vente
The Netherlands






All times are GMT +1. The time now is 03:56 PM.

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