ich habe eine VBA-Herausforderung die ich im Moment nicht lösen kann und die mein Makro ziemlich langsam macht.
Durch den Durchlauf mit Haltpunkten habe ich herausgefunden, dass folgende Codes mein Makro sehr langsamm macht.
Jetzt kommt die Schleife um für jede Zellen das Volumen zu berechnen
For i = 1 To d + 1
On Error Resume Next ' Fehler abfangen
For z = 5 To b
' Sumifs-Formel je nach Anzahl Kriterien anpassen
wrksht.Cells(z, a + i - 1).Value = WorksheetFunction.SumIfs(objVolumenBereich.Offset(0, i - 1), objKriterienBereich.Offset(0, e - 1), wrksht.Cells(z, 1).Value, _
objKriterienBereich.Offset(0, f - 1), wrksht.Cells(z, 2).Value)
Next z
wrksht.Cells(3, a - 1 + i).Value = WorksheetFunction.Sum(Range(Cells(5, a - 1 + i), Cells(b, a - 1 + i)))
Next i
und
Jetzt kommt die Schleife um für jede Zellen den Mix zu berechnen
For i = 1 To 7
On Error Resume Next ' Fehler abfangen
For z = 5 To b
wrksht.Cells(z, 24 + i).Value = wrksht.Cells(z, 3 + i).Value / wrksht.Cells(3, 3 + i).Value
Next z
Next i
Gibt es eine Möglichkeit dies effizienter zu machen? Problem ist wohl auch das die Basistabelle über 40.000 Zeilen hat.
Meine Idee wäre das die "i"-Schleife nicht komplett notwendig ist. Also ich mache die Suche in den Kriterienbereichne nur einmal uns summiere dann alle sieben Spalten gemäß Kriterien. Im Moment suche ich ja jedesmal wieder die Kriterien.
Jemand eine Idee.
Vielen Dank im Voraus.
Andreas