auch Dezember noch auf's alte Jahr verteilen.
Wolfgang
zunächst noch allen vorab Frohe (Rest)-Feiertage!
Der nachfolgende Code befindet sich in einem UF und berechnet zwischen der Textbox5 und Textbox6 die Zeit bzw. ermittelt aus Textbox 25 die ausgewiesenen Monate und nimmt aus Textbox 9 eine Summe. Diese Summe soll nach Monaten berechnet in Textbox 13-16 (beginnend mit der Jahreszahl, die in Tabelle Daten M1 enthalten ist) verteilt werden. Bislang rechnet der Code allerdings schon ab Dezember eines Jahres die Summe auf Januar des folgenden Jahres. Wie kann ich den Code ändern, damit er auch an dieser Stelle durchrechnet. Also, z.B. ab 15.12. beginnend noch bis 31.12. verteilt und dann die weitere Zeit im Beispiel also vom 01.01. bis 14.01. dann auf Januar. Danke schon jetzt für die Rückmeldungen.
Gruß - Wolfgang
'Verteilung der Kosten auf Monate
Private Sub berechnen()
Dim daTB5 As Date, daTB6 As Date, intB5j As Integer
Dim SchnittTag As Double, ii As Integer
Dim datVon As Date, datBis As Date
Dim intB5K As Integer
With Application.WorksheetFunction
If IsDate(TextBox5) And IsDate(TextBox6) Then
daTB5 = CDate(TextBox5) + 31
daTB6 = CDate(TextBox6) + 32
intB5j = Year(daTB5)
intB5K = Year(daTB5)
TextBox25 = .Round((.Max(daTB5, daTB6) - .Min(daTB5, daTB6) + 1) / 30.4, 1)
SchnittTag = CDbl(TextBox9) / (daTB6 - daTB5) ' Wert pro Tag
If intB5K = Sheets(2).Range("M1").Value Then
For ii = 0 To Year(daTB6) - intB5j
datVon = .Max(daTB5, DateSerial(intB5j + ii, 1, 1))
datBis = .Min(daTB6, DateSerial(intB5j + ii + 1, 1, 1))
Me("TextBox" & 13 + ii) = .Round(SchnittTag * (datBis - datVon), 2)
If ii