Beste specialisten,
In een grotere macro worden overbodige rijen verwijderd. Sommige formules die verwijzen naar andere rijen zouden daardoor verkeerde resultaten opleveren.
Daarom en om het bestand te verkleinen voor de eindgebruiker, worden de formules met plakken speciaal omgezet naar waarden voordat de rijen waar die formules naar verwijzen worden verwijderd.
Dit gebeurt met onderstaande code in bestanden met ca 5000 rijen en een 45-tal gebruikte kolommen waarvan een 30-tal met formules.
Het plakken speciaal duurt vaak 5 minuten ondanks het afzetten van calculation, screenupdate, enzovoort.
Ter info: de variabele LastRow wordt ook gebruikt in alle ranges van alle formules.
Iemand enig idee hoe dit sneller kan?
Waarvoor dank.
mvg
Paul
In een grotere macro worden overbodige rijen verwijderd. Sommige formules die verwijzen naar andere rijen zouden daardoor verkeerde resultaten opleveren.
Daarom en om het bestand te verkleinen voor de eindgebruiker, worden de formules met plakken speciaal omgezet naar waarden voordat de rijen waar die formules naar verwijzen worden verwijderd.
Dit gebeurt met onderstaande code in bestanden met ca 5000 rijen en een 45-tal gebruikte kolommen waarvan een 30-tal met formules.
Het plakken speciaal duurt vaak 5 minuten ondanks het afzetten van calculation, screenupdate, enzovoort.
Ter info: de variabele LastRow wordt ook gebruikt in alle ranges van alle formules.
Iemand enig idee hoe dit sneller kan?
Waarvoor dank.
Code:
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With
Range("E1", Cells(LastRow, "AO")).Copy
Range("E1").PasteSpecial xlValues
Application.CutCopyMode = False
Range("A1").Select
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
.DisplayStatusBar = False
.EnableEvents = True
End With
mvg
Paul