Dag, Rudy,
Dit gaat voor mij ook traag. Als het voor Danny en Leo wel snel werkt, ligt het wellicht gewoon aan de snelheid van je systeem en uiteraard ook welke processen er allemaal lopen. Excel 2007 is doorgaans ook (ruim) trager dan de vorige versies. (ik heb XP)
In principe zou volgende code sneller moeten werken.
Private Sub CommandButton1_Click()
Dim lVolgendeRij As Long
Dim AppCalcSet As Long
lVolgendeRij = Cells(Rows.Count, 1).End(xlUp).Row + 1
With Application
AppCalcSet = .Calculation
.Calculation = xlCalculationManual
' Invullen van de cellen
Cells(lVolgendeRij, 2).Value = Cells(8, 11).Text
Cells(lVolgendeRij, 3).Value = Cells(8, 16).Text
Cells(lVolgendeRij, 4).Value = Cells(8, 19).Text
Cells(lVolgendeRij, 5).Value = Cells(8, 21).Text
Cells(lVolgendeRij, 1).Value = Cells(6, 16).Text
.Calculation = AppCalcSet
End With
End Sub
"berekenen" (zie Extra/Opties) wordt op handmatig gezet en op het einde weer "teruggezet" zoals het ingesteld was.
(als "berekenen" reeds handmatig was, zal dat ook zo blijven na de macro, maar bij jou staat dat wellicht op automatisch)Als "berekenen" op automatisch staat, spendeert je macro bij elke celwijziging tijd om de hele boel opnieuw uit te rekenen.
Ik vrees echter dat het niet veel zal helpen; bij mij blijft ie ook traag rekenen na deze operatie.
1083 formules lijkt me ook veel voor deze taak, maar misschien onderschat ik het. 'k Heb een lijst van alle formules gemaakt met Table-It. Handig om even een blik te werpen op de zaak.
Volgende formules op "Blad2" zijn alleszins mogelijke boosdoeners.
Misschien heb ik er per ongeluk te veel uit de Table-It lijst gewist en zijn er nog meer.ADRES FORMULE (1ste cel)
Q2:Q5 =SOM.ALS(B:B;P2;H:H)+SOM.ALS(E:E;P2;H:H)
Q8:Q11 =SOM.ALS(B:B;P8;H:H)+SOM.ALS(E:E;P8;H:H)
Q14:Q17 =SOM.ALS(B:B;P14;H:H)+SOM.ALS(E:E;P14;H:H)
Q20:Q23 =SOM.ALS(B:B;P20;H:H)+SOM.ALS(E:E;P20;H:H)
R2:R5 =SOM.ALS(B:B;P2;I:I)+SOM.ALS(E:E;P2;J:J)
R8:R11 =SOM.ALS(B:B;P8;I:I)+SOM.ALS(E:E;P8;J:J)
R14:R17 =SOM.ALS(B:B;P14;I:I)+SOM.ALS(E:E;P14;J:J)
R20:R23 =SOM.ALS(B:B;P20;I:I)+SOM.ALS(E:E;P20;J:J)
S2:S5 =SOM.ALS(B:B;P2;K:K)+SOM.ALS(E:E;P2;K:K)
S8:S11 =SOM.ALS(B:B;P8;K:K)+SOM.ALS(E:E;P8;K:K)
S14:S17 =SOM.ALS(B:B;P14;K:K)+SOM.ALS(E:E;P14;K:K)
S20:S23 =SOM.ALS(B:B;P20;K:K)+SOM.ALS(E:E;P20;K:K)
X2:X5 =SOM.ALS(B:B;P2;D:D)+SOM.ALS(E:E;P2;C:C)
X8:X11 =SOM.ALS(B:B;P8;D:D)+SOM.ALS(E:E;P8;C:C)
X14:X17 =SOM.ALS(B:B;P14;D:D)+SOM.ALS(E:E;P14;C:C)
X20:X23 =SOM.ALS(B:B;P20;D:D)+SOM.ALS(E:E;P20;C:C)
Z2:Z5 =SOM.ALS(B:B;P2;C:C)
Z8:Z11 =SOM.ALS(B:B;P8;C:C)
Z14:Z17 =SOM.ALS(B:B;P14;C:C)
Z20:Z23 =SOM.ALS(B:B;P20;C:C)
AA2:AA5 =SOM.ALS(E:E;P2;D:D)
AA8:AA11 =SOM.ALS(E:E;P8;D:D)
AA14:AA17 =SOM.ALS(E:E;P14;D:D)
AA20:AA23 =SOM.ALS(E:E;P20;D:D)
[Table-It] version 07 by Erik Van Geit
Al deze formules verwijzen naar volledige kolommen, wat de zaak aanzienlijk vertraagt, al zijn het er niet zo veel.
Als je bij het ontwerpen al heel veel zaken hebt verschoven, verwijderd, gecopieerd ... dan is het ook mogelijk dat er een zekere "corruptie" in je werkboek is opgetreden. Ja, mensen, Excel verteerd eigenlijk niet zo goed al dat "geschuif". Daarom kan het nuttig zijn je werkboek even te hermaken vanaf nul. Ik ga dat hier nu niet helemaal uitleggen, maar vele mensen zijn al geholpen met mijn topic
REBUILD your workbook. 't Is in het Engels.
beste groeten,
Erik
EDIT
Vandaag zal de link niet werken, want ze zijn daar aan het "verbouwen".