Avatar billede Sandra1234 Mester
18. juli 2019 - 09:14 Der er 5 kommentarer og
2 løsninger

Optimering af excel dokument

Hej alle

Er der nogen af jer, der har nogle gode råd til at få et excel-dokument med en masse beregninger og makroer til at køre hurtigere?

Jeg har sørget for, at der ikke er formler, som har hele kolonner eller rækker i formlen. De er afgrænsede.

Der er en masse formatering, da det skal være letlæseligt, men jeg har gjort formateringen til et minimum. 

Ellers har jeg ikke lige andre forslag til, hvordan man kan gøre det mindre tungt. Har I? :)
Avatar billede xl-Enthusiast Ekspert
18. juli 2019 - 09:34 #1
Det er svært at sige noget kvalificeret om uden at se filen. Har du mulighed for at uploade den til Dropbox?
Avatar billede finb Ekspert
18. juli 2019 - 10:02 #2
Du kunne køre vba med:

screenupdating = false
run makro
screenupdating = true

samt lægge data i array, det kører stærkt.
Avatar billede Sandra1234 Mester
18. juli 2019 - 10:58 #3
xl-Enthusiast:

Jeg har lagt den op her:
https://www.dropbox.com/s/6icx8bwfvzy4e4n/Produktions-overblik.xlsm?dl=0
og har anonymiseret den lidt.


finb
Array er ikke lige noget jeg kender til, vil du forklare det lidt nærmere? :)
Avatar billede finb Ekspert
18. juli 2019 - 12:56 #4
Array er en "støvsuger", der lægger data i en "holder":
plads(1)=værdi 1
plads(2)=værdi 2
Avatar billede xl-Enthusiast Ekspert
18. juli 2019 - 14:09 #5
Jeg har ikke set på hvad der eventuelt kan gøres ved dine makroer.

Filen har 32 ark og rigtig mange komplicerede formler, så der er ikke noget mærkeligt i, at Excel er langsom.

Det er et par lette ting du kan gøre som hjælper en del, men ikke afhjælper problemet fuldstændigt.

Gem filen som xlsb i stedet for som xlsm. Det reducerer filstørrelsen betydeligt.
Slet overflødige rækker i alle ark, men helt specielt i ark Kapacitetsprofil.Dag. Prøv at vælge dette ark, tryk F5, Special, Last Cell, OK. Du vil se, at Last Cell er AB1048575.
Gør følgende: I navnefeltet (feltet til venstre for formelfeltet) skriver du 65:1048576 (jeg går ud fra række 65 er den sidste der er behov for) og trykker på Enter. Hold herefter Ctrl-tasten nede og tryk på minus for at slette alle rækker 65:1048576. Gem filen (vigtigt). xlsb-formatet plus det just nævnte reducerer filstørrelsen fra 16,76 mb til 6,8 mb.

Gentag den nævnte procedure (slette overflødige rækker i alle andre ark, hvor det er relevant). Husk at gemme filen bagefter.
Avatar billede store-morten Ekspert
18. juli 2019 - 23:27 #6
Jeg har kikket på dine Makroer og lavet lidt "kode vask"
Kan ikke afprøve, da jeg ikke har adgang til din Data base.
Håber det virker.
Har gemt filen som: xlsb-format som xl-Enthusiast foreslår, fylder nu: 9391 kb.

https://www.dropbox.com/s/zxh3y8ic7kcn93a/Produktions-overblik%20%20Morten.xlsb?dl=0

Din "Opdater" kode står nu kun et sted og kaldes fra de andre makroer.
Så det er nemme at ændre i den.

Dog er der en: Sub OpdatereGrovplanlægning() der er anderledes?
Måske det er en fejl, så denne også kan ændres.
Avatar billede Sandra1234 Mester
19. juli 2019 - 14:25 #7
Jeg er med på at det er klart at det er så tungt, for der er rigtig mange formler og lignende. :)

Dokumentet åbner, beregner og gemmer markant hurtigere ved at have gemt som xlsb. Det er et godt tip!
Jeg har nu slettet alle overflødige rækker og tænker også jeg vil slette tilsvarende kolonner.

Opdaterings-makroen er blevet et par minutter hurtigere ved kørslen, hvilket svarer til 20-25% hurtigere. Og smart at "kalde" en anden makro frem så der ikke skal laves så lange VBA-koder.
Og godt spottet med OpdatereGrovplanlægning() jeg kan sse at den var smuttet for mig ;)

Rigtig mange tusinde tak for jeres inputs! Det har gjort det væsentligt hurtigere :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB