Excuus voor de typefout in de titel
Dit mag ik niet meer aanpassen
Beste mensen,
Ik heb een probleem met een vba macro die in Excel draait. De macro is erg traag aan het worden.
Kort samengevat doet de macro het volgende. Als je op de startknop op de sheet drukt dan:
1) Circa 60 waardes uit de excelsheet halen
2) Berekeningen daar op uitvoeren
3) Uitkomsten op de sheet wegschrijven. In het meest extreme geval zijn dit 50000 waardes
Stap 1 en 2 duren max 2 seconden. Stap 3 duurt meerdere minuten. De snelheid van stap 3 is erg afhankelijk van de pc en de versie van excel. De beste prestaties heb ik op een 10 jaar oude pc waar nog office XP op staat
Gloednieuwe pc's met moderne software zijn veel trager.
De wachttijd begint aardig irritant te worden aangezien ik de macro meerdere keren per dag achterelkaar gebruik .
De manier waarop de data op de sheet gezet wordt gaat als volgt.
Worksheets("Visualisatie").Range("BJ" & GeselecteerdeRij).Value = KoppelMotoren(i, 1)
GeselecteerdeRij=GeselecteerdeRij+1
i=i+1
Loop
Voordat ik de data op de sheet plaatst voer ik deze code nog uit. Ik heb niet het idee dat dit veel helpt.
Application.ScreenUpdating = False
De waardes worden op een verborgen tabblad geplaatst.
Verder wordt er met de weggeschreven data op het verborgen tabblad niets gedaan. Het enige wat ik er mee doe is de waardes gebruiken om circa 30 grafieken weer te geven.
Verder zitten er in de excelsheet nog tig andere macro's en heel veel andere data, maar die worden niet getriggered door die grote trage macro.
Iemand enig idee hoe ik dit sneller kan krijgen?
Beste mensen,
Ik heb een probleem met een vba macro die in Excel draait. De macro is erg traag aan het worden.
Kort samengevat doet de macro het volgende. Als je op de startknop op de sheet drukt dan:
1) Circa 60 waardes uit de excelsheet halen
2) Berekeningen daar op uitvoeren
3) Uitkomsten op de sheet wegschrijven. In het meest extreme geval zijn dit 50000 waardes
Stap 1 en 2 duren max 2 seconden. Stap 3 duurt meerdere minuten. De snelheid van stap 3 is erg afhankelijk van de pc en de versie van excel. De beste prestaties heb ik op een 10 jaar oude pc waar nog office XP op staat
De wachttijd begint aardig irritant te worden aangezien ik de macro meerdere keren per dag achterelkaar gebruik .
De manier waarop de data op de sheet gezet wordt gaat als volgt.
Worksheets("Visualisatie").Range("BJ" & GeselecteerdeRij).Value = KoppelMotoren(i, 1)
GeselecteerdeRij=GeselecteerdeRij+1
i=i+1
Loop
Voordat ik de data op de sheet plaatst voer ik deze code nog uit. Ik heb niet het idee dat dit veel helpt.
Application.ScreenUpdating = False
De waardes worden op een verborgen tabblad geplaatst.
Verder wordt er met de weggeschreven data op het verborgen tabblad niets gedaan. Het enige wat ik er mee doe is de waardes gebruiken om circa 30 grafieken weer te geven.
Verder zitten er in de excelsheet nog tig andere macro's en heel veel andere data, maar die worden niet getriggered door die grote trage macro.
Iemand enig idee hoe ik dit sneller kan krijgen?