Max M

Max M specjalista, devim

Temat: VBA i bardzo wolna budowa wykresów w Excel 2010

W Excel 2003 zbudowałem dynamiczne kreślenie wykresów, wykorzystując VBA do złożonych logik kolorowania serii, itp. Po konwersji pliku do Excela 2010 czas obsługi wykresów wydłużył się co ponad 10-krotnie -z ok. 1 min do 10 minut. Robione to było i jest w miarę profesjonalnie, bez odświeżania strony, itp. Obecnie, już w analizie krokowej kodu widać, że nowy Excel jest jakiś ciężki i przy przejściu z linii do linii okropnie się męczy. O co chodzi? Co zmienić w nowym 2010, żeby czas pozostał na podobnym poziomie?
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: VBA i bardzo wolna budowa wykresów w Excel 2010

Aby wyłączyć wszystkie niepożądane czynności podczas przebiegu kodu należy wyłączyć 3 elementy, a po wykonaniu włączyć ponownie:

-Miganie ScreenUpdating
-Zdarzenia EnableEvents
-Przeliczanie Calculation
Max M

Max M specjalista, devim

Temat: VBA i bardzo wolna budowa wykresów w Excel 2010

Wszystko jest wyłączane w ten sam sposób! Jednak generowanie wykresów trwa w E2010 z 10x wolniej!
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: VBA i bardzo wolna budowa wykresów w Excel 2010

Spróbuj wywołać kod na nowym pliku w którym będziesz miał dane wejściowe do wykresu.
Jeśli sytuacja się nie poprawi to tylko udostępnienie pliku może potwierdzić lub podważyć sposób ich tworzenia.
Max M

Max M specjalista, devim

Temat: VBA i bardzo wolna budowa wykresów w Excel 2010

Już na oko widać w analizie krokowej, że dynamiczne warunkowe kolorowanie serii trwa b. wolno -nie da się szybko lecieć F8 -to jakiś bubel w nowym Excelu, bo w 2003 było to o wiele sparwniej.

Jestem gotowy dać o analizy okrojony przykład z 1 wykresem tylko jak na email?
Obecny czas formatowania 1 wykresu to ok. 15 sek, a było dosłownie 1-2 sek. Po 20 wykresów na 5 arkuszach to obecnie czas: aż 30 min, a było 3 minuty! Oczywiście, niewykluczone, że źle zarządzam kodem VBA w nowym excelu, ale nie wiem jak to zmienić -czekam na info. Pozdrawiam
Marzanna Szulta

Marzanna Szulta właściciel, Usługi
Informatyczne
SZULTASET

Temat: VBA i bardzo wolna budowa wykresów w Excel 2010

Tak na wszelki wypadek spytam: czy w EXCELU 2010 plik to na pewno plik w tej wersji czy w trybie zgodności?
Tryb zgodności
Max M

Max M specjalista, devim

Temat: VBA i bardzo wolna budowa wykresów w Excel 2010

Witam, dzięki za zainteresowanie. Oczywiście na pewno jest to Excel 2010, ale już mam!
Niestety nie zauważyłem, że w nowym excelu "select" robi takie zamieszanie, a miałem select punktu serii!

zamiast: Selection.Interior.ColorIndex = NrKoloru
jest: cht.SeriesCollection(s).Points(p).Interior.ColorIndex = NrKoloru
i czas dla ok. 100 dużych wykresów z 25 min. kurczy się do 7 sek. - jest 200x szybciej!
Dziękuję wszystkim i nich to będzie też ostrzeżenie dla innych :)

Następna dyskusja:

[VBA] - Automatyczne tworze...




Wyślij zaproszenie do