Avatar billede stgas Nybegynder
05. november 2003 - 13:07 Der er 7 kommentarer og
1 løsning

Problem med at få 2 dele af makro til af fungere ved mange data.

Jeg har et udtræk fra et andet system, som jeg vha en makro tilføjer nogle flere kolonner med sub-info fra nogle af de eksisterende kolonner. Den nye info. kopiere jeg til alle rækkerne. Så langt så godt. Herefter kaldes den næste makro som generere nogle Pivottabeller.
Alt dette går fint når der ikke er for mange rækker (ca. 35-40.000 rækker).Ved flere rækker går CPU-forbruget op på 100% og så venter den så lang tid med at gå i gang med at generere pivottabellerne - nederst skriver den, at den læser data.

Nu har jeg prøvet at dele den samlede kørsel op i 2. Først kører jeg makroen som tilføjer ekstra data. Her efter lukker jeg Excel. Så åbner jeg den netop gemte fil og starter makro 2 med Pivottabellerne. Og så går det eller bare over stok og sten.

Er der en eller anden counter eller lign der skal nulstilles, og hvordan kan man gøre det ?
Avatar billede stefanfuglsang Juniormester
05. november 2003 - 13:12 #1
Jeg ved det ikke exact men måske kan det hjælpe at indsætte
application.screenupdating = false
...
application.screenupdating = true
man kan også midlertidigt afbryde beregninger på arket, men jeg kan ikke overskue konsekvenserne af det
Avatar billede stefanfuglsang Juniormester
05. november 2003 - 13:14 #2
vent med beregninger må være noget i stil med:
Application.Calculation = xlCalculationManual
...
Application.Calculate 'udfør beregninger
Application.Calculation = xlCalculationAutomatic

Men pas på hvis du bruger "mellemregninger" der nu ikke bliver udført
Avatar billede stewen Praktikant
05. november 2003 - 13:20 #3
Er det nødvendigt at lukke Excel helt ned? Kan du ikke nøjes med at gemme filen og dermed frigøre hukommelse?
Avatar billede stgas Nybegynder
04. december 2003 - 21:34 #4
Forslagene er gode nok, de har desværre bare ingen mærkbar indvirken.
Desværre skal jeg lukke Excel ned for at få det til at køre videre. Men nu er jeg nået til at der er celler i området A1:AN49000, og nu 'stopper' det helt, sådan at forstå, CPU=100% og det bliver bare ved i forbindelse med genereringen af pivottabel nr. 2 i regnearket. Hvad kan gøres ?
Avatar billede bak Seniormester
04. december 2003 - 22:12 #5
Har du mere end een pivottabel på de samme data ?
Avatar billede bak Seniormester
04. december 2003 - 22:27 #6
Du bør kun have een pivottabel dannet på grundlag af dit dataark.
efterfølgende pivottabeller bør dannes på baggrund af den første pivottabel.
Dette er fordi at hver pivottabel ellers indeholder alle data intern i hukommelsen (og også ved lagring).
I dit tilfælde vil det så (med 2 uafhængige pivottabeller) betyde at du har dine data 3 gange i hukommelsen.
Hvis du bygger pivottabel 2 på  pivot 1 kan du nøjes med 2 gange og det er mere effektivt idet de 2 tabeller opdateres sammen.
Avatar billede stgas Nybegynder
07. december 2003 - 21:03 #7
Tak for info. Det vil jeg prøve.
Avatar billede stgas Nybegynder
01. juli 2013 - 08:24 #8
.
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
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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