Ich habe ein Problem bezüglich der Rechenperformance meiner VBA-Berechnung in Excel
Es geht dabei um die Verteilung von Stunden zwischen einem Start- und einem Endtermin.
Da ich relativ viele Daten habe und der folgende Code oft durchlaufen werden muss, wollte ich mal fragen ob ihr Ideen habt den Code effizienter zu machen sodass die Rechendauer eingeschränkt werden kann.
Ich denke es ist sehr aufwendig das jeder Tag(aktuellesDatum) des Jahres mit dem Start und Endtermin verglichen wird, aber mir fällt leider noch nichts besseres ein.
Ich hatte überlegt erst die entsprechenden Monate zu selektieren über "Month(Datum)", aber da bin ich noch nicht weitergekommen.
Ich hoffe mir kann hier jemand helfen und bin dankbar über jede Idee
Gruß
Code:
Sub Stundeberechnung()
'Gesamtstundenzahl der einzelenen Bereiche
weeks = ws4.Cells(4, "C")
'wda = 7 * weeks
x = 0
iEnd = rowstart(0) + 5
For row = rowstart(0) + 1 To iEnd
'wda = ws4.Cells(row, 12).Value - 1
'zur Verfügung stehende Stunden je Terminblock
ABChoursamount = 0
ABChoursamount = wsk.Cells(row, "V").Value
DEFhoursamount = 0
DEFhoursamount = wsk.Cells(row, "W").Value
'Für die Bewältigung verfügbare Tage
ABCdays = wsk.Cells(row, "H")
DEFdays = wsk.Cells(row, "K")
'Start- und Endtermine
ABCDateS = wsk.Cells(row, "F").Value 'Startdatum ABC
ABCDateE = wsk.Cells(row, "G").Value 'Enddatum ABC
DEFDateS = wsk.Cells(row, "I").Value 'Startdatum DEF
DEFDateE = wsk.Cells(row, "J").Value 'Enddatum DEF
For col = 0 To 365 '+ 365
aktuellesDatum(col) = wsk.Cells(2, col + 33).Value
Next col
For col = 0 To 365
dayhours(row - rowstart(0), col) = 0
'Daten-Vergleich Jedes Datum jedes Tages wird mit dem der vorgegebenen Termine verglichen
''Beschreiben der ABC Daten wenn Datum im ABC Zeitraum (linear)
If aktuellesDatum(col) >= ABCDateS And aktuellesDatum(col) = DEFDateS And aktuellesDatum(col)