Avatar billede madsmpedersen Nybegynder
25. oktober 2004 - 20:09 Der er 4 kommentarer

VB/Excel: Programmet kører langsommere 2. gang

Jeg har lavet et program i Visual Basic for Application i Excel. Det fletter nogle celler i et ark, ændrer kollonestørrelser, laver rammer og kopier nogle tal fra andre ark.
Første gang efter jeg har åbnet regnearket går det fint.
Men når jeg derefter kører programmet går det rigtig langsomt. Der hvor den går helt i stå er når jeg den skal flette celler.
Jeg troede det var fordi at de variabler jeg bruger ikke var frigivet, så jeg afsluttede programmet med en "END", som efter hjælpebeskrivelsen skulle "Clear all variables", men det er åbenbart ikke det, men hvad så.
Avatar billede martin_moth Mester
26. oktober 2004 - 09:05 #1
Hvis der ikke er samme udgangspunkt for de to kørsler af macroen - og det lyder det ikke til at der er - så må forklaringen jo ligge der...

Hvis du bruger objekter, så husk at nedlægge dem (Set blabla = nothing)
Avatar billede madsmpedersen Nybegynder
26. oktober 2004 - 11:08 #2
Hvad mener du med at der ikke er samme udgangspunkt for de to kørsler.
Første gang fletter den nogle celler, tegner nogle rammer, og kopier nogle tal fra andre ark. Hvis jeg gør det en gang til går det langsomt(mellem 2x og 10x så langsomt afhængig af computeren), hvorimod hvis jeg lukker og åbner excel og kører programmet, så går det stærkt.
Jeg bruger ikke nogen objekter
Avatar billede martin_moth Mester
26. oktober 2004 - 13:53 #3
Du kører en macro, der ændrer i nogle ark og henter data fra andre ark

Så kører du macroen igen - så må udgangspunktet da være ændret. Det ark der nu ændres er jo allerede blevet ændret efter 1. kørsel, og derfor er det nogle andre data osv. der manipuleres af macroen.

Ikke - eller?
Avatar billede bak Forsker
26. oktober 2004 - 20:04 #4
det er lettere at hjælpe, hvis du lige give os koden :-)
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
Kurser inden for grundlæggende programmering

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