05. november 2003 - 13:07Der 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 ?
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
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
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 ?
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.
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.