< návrat zpět

MS Excel


Téma: Pomalá aktualizace rss

Zaslal/a 17.9.2010 15:46

Dobré odpoledne, co dělat pro to, aby makro běhalo co nejrychleji? Mám tabulku o cca 4 tisících řádcích, hodnoty do sloupce Z a potom od AA do AQ vzorce nad těmito daty. Vzorce vyplní makro v prvním řádku a pak rozkopíruje do všech řádků. A to mu trvá víc jak deset minut. Je to normální? Zas takovou plečku nemám, mám Windows 7 a Office 2007. Co udělat pro zrychlení? Na co si dávat pozor? Díky

Zaslat odpověď >

#002467
Začátečník
Nejprve bych ještě zkusil vypnout automatické přepočítávání vzorců a pak optimalizaci smyčky, která provádí "rozkopírování".
Jinak bez zdrojového makra těžko soudit. Ale na ten počet se mi to zase nezdá příliš (samozřejmě pokud je zapnutý automatický přepočet buněk).citovat
#002468
Jeza.m
Na začátek makra zkus vložit:
Application.screenupdating = False

a nakonci makra to zase povolit.
Mělo by to urychlit běh bez průběžného zobrazování změn.

M@citovat
#002473
avatar
Děkuji za radu.
"Application.screenupdating = False" - tím se vypne automatické přepočítávání vzorců, nebo vedle tohoto musím ještě vypnout automatické přepočítávání v nastavení Excelu?citovat
#002474
avatar
Ještě jsem ale možná zapomněl zmínit důležitou věc, a to, že mám sešit propojený do Accessu. Funguje to tak, že si zaktualizuji data (to je v pohodě), překopíruju jako hodnoty na nový list a tam provádím výše uvedené výpočty.citovat
#002500
Jeza.m
Screenupdating vypne jen okamžité vykreslování, ne přepočítávání, toto bych asi nevypínal, kdysi jsem to zkoušel a trochu jsem narazil, že se to promítlo do exceleu jiných uživatelů u jiných souborů - což jsem do dnes nepochopil, ale pak jsem je musel všechny obejít a pozapínat jim to :-).
Dalo by se nuceně vypnout na začátku kódu a na konci zase zapnout, ale já už to nepoužívám - přináší to problémy.
S accessem by problém být neměl.
M@citovat
#002581
avatar
Napadlo mne, zda by nezrychlilo běh makra to, kdyby do buňky se místo vzorce zapisoval rovnou výsledek jako hodnota, šlo by to nějak?citovat
#002582
Jeza.m
Pokud te vzorec spočítáš makrem tak proč ne, ale bude-li to rychlejší to ti nepovím (možná) :-), zkus to ;-).

M@citovat
#002584
avatar
Ano, ale jak to napsat. Mám dosti složitý vzorec Range("Af2").FormulaR1C1 = _
"=SUMIFS('Zdroj transakce'!C8,'Zdroj transakce'!C21,""P"",'Zdroj transakce'!C1,'Přehled dlužníků'!RC1,'Zdroj transakce'!C5,"">""&Parametry!R2C10-7,'Zdroj transakce'!C5,""<=""&Parametry!R2C10)"

A já bych chtěl, aby mi to do té AF2 zapsalo místo vzorce rovnou výsledek jako hodnotu. Jak to napsat ve VBA?citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Uspořádání dat do tabulky

elninoslov • 15.4. 14:19

QR kód

parkovec • 15.4. 13:53

Uspořádání dat do tabulky

lubo • 15.4. 12:10

Uspořádání dat do tabulky

Marw • 14.4. 19:41

Uspořádání dat do tabulky

elninoslov • 14.4. 10:08

Uspořádání dat do tabulky

Marw • 14.4. 9:30

hláška

elninoslov • 13.4. 8:45