Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1240to1244
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code umstellen - Verteilen nach Monatsablauf

Code umstellen - Verteilen nach Monatsablauf
Wolfgang
Hallo,
den nachfolgenden Code hatte mir Erich zur Verfügung gestellt. Er läuft absolut super und ist für meinen angedachten Zweck genau richtig. Nun ergibt sich für mich noch eine andere Konstellation in der Aufteilung/Verteilung von Summen.
Wäre denkbar, den Code so umzustellen, dass er die in TextBox9 genannte Summe durch die Anzahl der Monate teilt und dann erst nach einem verstrichenen Monat anfängt hochzurechnen?
Beispiel: Zeitraum vom 15.10.-15.01.
Verteilung der Mittel:
"erster Abschnitt" am 15.11 (für 15.10-14.11),
"zweiter Abschnitt" am 15.12. (für 15.11-14.12.)
"dritter Abschnitt" am 15.01. (für 15.12.-15.01.)
usw., je nach Zeitraum. Dabei sollte aber bei Jahreswechsel, wenn also der Stichtag für einen nächsten Abschnitt auf einem Tag ab 01.01. fällt, jeweils schon in das neue Jahr übertragen werden (Textbox14, Label25).
Danke schon jetzt für die Rückmeldungen.
Gruß - Wolfgang
Sub berechnen()                          ' Verteilung der Kosten auf JAHRE
Dim daTB5 As Date, daTB6 As Date
Dim SchnittTag As Double, ii As Integer, intTage As Integer
With Application.WorksheetFunction
If IsDate(TextBox5) And IsDate(TextBox6) Then
daTB5 = CDate(TextBox5)
daTB6 = CDate(TextBox6)
SchnittTag = CDbl(TextBox9) / (daTB6 + 1 - daTB5)  ' Wert pro Tag
For ii = Year(daTB5) To Year(daTB6)
intTage = .Min(daTB6 + 1, DateSerial(ii + 1, 1, 1)) _
- .Max(daTB5, DateSerial(ii, 1, 1))
Me("TextBox" & 13 + ii - Year(daTB5)) = .Round(SchnittTag * intTage, 2)
Me("Label" & 24 + ii - Year(daTB5)) = "Jahr " & ii
Next ii
End If
End With
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Code umstellen - Verteilen nach Monatsablauf
29.12.2011 22:32:43
Oberschlumpf
Hi Wolfgang
Ich weiß zwar keine Lösung, aber....
....ich sehe, in deinem Code werden Textboxes verwendet
....ich frage mich, warum zeigt Wolfgang nicht gleich ne Bsp-Datei, in der alle Daten, Textboxes und was noch vorhanden sein muss, schon drin ist?
....ich befürchte, Wolfgang erwartet, dass der Antwortende erst die Datei nachbauen muss, bevor er eine Lösung erarbeiten kann
....ich denke, dass zumindest ich keine Lust habe, die Datei nachbauen zu müssen, obwohl sie doch schon existiert
Ciao
Thorsten
Beispielsmappe anbei
30.12.2011 05:57:00
Wolfgang
Hallo,
ich war mir nicht darüber im klaren, ob ich sofort eine Beispielsmappe beifügen soll. Dieses hole ich gerne nach. Die Mappe enthält auch den UF mit dem Code, der wie erwähnt auch super läuft. Für eine andere Anwendung würde ich gerne aber den Code wie beschrieben umstellen. Danke schon jetzt wieder für die Rückmeldungen.
Herzliche Grüsse - Wolfgang
https://www.herber.de/bbs/user/78131.xlsm
Anzeige
Aufgabe unklar
30.12.2011 13:40:23
Erich
Hi Wolfgang,
es wäre besser gewesen, du wärest mit deiner Zusatzfrage im alten Thread geblieben.
Dann wäre alles der Zusammenhang klarer, und ich hätte die Frage früher gesehen.
(Du hättest daberi den alten Thread auch auf "Frage noch offen" stellen können.)
Und gut wäre gewesen, wenn du in die Mappe die gewünschten Ergebnisse geschrieben hättest.
Mir ist aus deiner Beschreibung jedenfalls nicht klr geworden, was du nun berechnen willst.
Vielleicht können wir das anhand der gewünschten Ergebnisse klären:
 ABC
510.11.201121Jahr 2011
604.01.201235Jahr 2012
7  oder
8 30Jahr 2011
95626Jahr 2012

Wenn 56 Euro zu verteilen sind im Zeitraum 10.11.11 bis 04.04.12, wieviel soll dann auf 2011 entfallen - 21 oder 30 Euro?
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
AW: Aufgabe unklar
30.12.2011 16:45:43
Wolfgang
Hallo Erich,
zunächst erneut herzlichen Dank für Deine Rückmeldung, gleichzeitig auch Entschuldigung. Ich dachte, dadurch, dass Du mir im anderen Thread sehr geholfen hast und mein Problem gelöst hattest, dass dann der jeweilige Thread damit erledigt ist. Ich habe die gleiche Mappe mit Ergänzungen erneut hochgeladen, in der Hoffnung, dass ich mich da verständlicher ausdrücken konnte. Es geht im Grunde darum, dass die monatliche Verteilung immer erst nach Ablauf eines Monats zu Buche schlägt. Besondere Auswirkung hat das eben zum Jahreswechsel. Dabei soll dann auch die komplette monatliche Summe in den jeweils folgenden Zeitmonat übertragen werden. Im vorherigen Thread war mir ja die spitze Verteilung wichtig, die da ja auch entsprechend vorgenommen wird. In Deinem Beispiel würde sich die Summe für die Zeit vom 10.11.11bis 09.12.11 rechnen und am 10.12.11 zu Buche schlagen. Vom 10.12.-09.01.12 dann die nächste "Rate" am 10-.01.12, also für diesen Zeitraum somit kpl. in 2012. Danke schon jetzt wieder für Deine Rückmeldung.
Gruß - Wolfgang
https://www.herber.de/bbs/user/78141.xlsm
Anzeige
Aufgabe immer noch unklar
30.12.2011 19:57:50
Erich
Hi Wolfgang,
am Ende meines letzten Beitrags hatte ich dir eine Frage gestellt:
"Wenn 56 Euro zu verteilen sind im Zeitraum 10.11.11 bis 04.04.12,
wieviel soll dann auf 2011 entfallen - 21 oder 30 Euro?"

Könntest du nun bitte schreiben, ob da die 21 oder die 30 oder noch eine andere Zahl rauskommen soll?
Wie man die 21 oder die 30 ermitteln kann, weiß ich. Wenn es eine andere Zahl sein soll, wäre es günstig,
wenn du auch den Rechenweg aufschriebest.
Noch eine grundsätzliche Frage zum Ziel: Du schreibst immer wieder von einer Aufteilung auf Monate.
Bislang ging es darum, einen Betrag auf Jahre aufzuteilen. Hat sich das geändert?
Wenn ja: Was genau soll bei welchen Textboxen und Labels ausgegeben werden?
Wenn es wie bisher letztlich doch nur um die Jahre geht, lässt man die Monatsaufteilung besser sein.
Monate sind nun mal unterschiedlich lang, sie werden hier auch fast nicht gebraucht.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
AW: Aufgabe immer noch unklar
30.12.2011 21:34:44
Wolfgang
Hallo Erich,
für 2011 kämen nach Deinem Beispiel noch 11,60 Euro zur Verteilung. Nämlich für die Zeit vom 10.11.11-09.12.11; Der Zeitraum 10.12.11-09.01.12 und die weiteren Zeiträume greifen in das neue Jahr und ist bzw. sind somit komplett in 2012 zu übernehmen (nicht noch anteilig vom 10.12. bis 31.12.11 in 2011). Es ist tatsächlich in diesem Fall in Monatszeiträumen anzusetzen, die ich analog zur Zinsrechnung mit 30 Tagen je Monat zugrunde gelegt habe. Knackpunkt ist für mich tatsächlich der Jahreswechsel. Ich hatte in Deinem Beispiel den Zeitraum ermittelt (=4,84 Monate) und die Summe hierdurch geteilt. Ich hoffe, dass ich da nicht irgendwelche Gedankenfehler habe. Danke auf jeden Fall schon jetzt wieder für die Rückmeldung.
Gruß - Wolfgang
Anzeige
besser ohne Monate
31.12.2011 00:36:08
Erich
Hi Wolfgang,
probier mal

Sub berechnen()                          ' Verteilung der Kosten auf JAHRE
Dim daTB5 As Date, daTB6 As Date
Dim SchnittTag As Double, ii As Integer, intTage As Integer
With Application.WorksheetFunction
If IsDate(TextBox5) And IsDate(TextBox6) Then
daTB5 = CDate(TextBox5)
daTB6 = CDate(TextBox6)
SchnittTag = CDbl(TextBox9) / (daTB6 + 1 - daTB5)  ' Wert pro Tag
For ii = Year(daTB5) To Year(daTB6)
intTage = .Min(daTB6 + 1, DateSerial(ii, 12, Day(daTB5))) _
- .Max(daTB5, DateSerial(ii - 1, 12, Day(daTB5)))
Me("TextBox" & 13 + ii - Year(daTB5)) = .Round(SchnittTag * intTage, 2)
Me("Label" & 24 + ii - Year(daTB5)) = "Jahr " & ii
Next ii
End If
End With
End Sub
Wie du auf die 4,84 Monate kommst, verstehe ich nicht.
Und warum du 30-Tage-Zinsmonate zu brauchen glaubst, auch nicht.
Es sind 147 Tage, 147/30 ergibt bei mir glatt 4,9 - nicht 4,84.
56/4,84 ergibt bei mir nicht 11,60, sondern 11,5702. Deine Rechenwege sehe ich nicht.
Bei mir entfällt auf 2011 der Betrag 30 * ( 56 / 147 ) = 30 * 0,380952381 = 11,42857143, gerundet 11,43
für die 30 Tage 10.11. - 09.12.2011.
Noch eine Bemerkung zu meinem Beispiel:
In der Tabelle hatte ich als Endtermin den 04.01.2012 genannt, im Beitrag mich aber dummerweise
verschrieben und den Endtermin in den April verlegt. Für den 04.01.2012 käme bei mir 30 raus (pro Tag 1 Euro).
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
Danke, Erich!!!!
31.12.2011 09:39:21
Wolfgang
Hallo Erich,
erneut herzlichen Dank für Deine Rückmeldung und auch für Deine erneute Geduld mit mir. Ich hatte die Aufteilung Deines Beispiels anhand von Formeln vorgenommen und da wohl offensichtlich einen Fehler dringehabt. - Der Code, den Du nun hinzugefügt hast, macht es genauso, wie ich es mir erhofft/erwünscht hatte. Ich freue mich sehr darüber! - Du hast mir sehr geholfen, nochmals vielen vielen Dank dafür.
Für heute einen guten Rutsch ins neue Jahr und für 2012 weiterhin alles erdenklich Gute!!
Gruß - Wolfgang
wer anderes bitte
30.12.2011 10:51:49
Oberschlumpf
Hi Wolfgang
Ich finde, es sollte vom Fragenden immer eine Bsp-Datei mit angezeigt werden.
Denn wieso muss der Antwortende das Rad (deine Datei) noch mal erfinden, wenn die Datei doch schon existiert?
Außerdem versteht man anhand einer Datei doch viel schneller, was gewünscht ist, als wenn man nur die Erklärungen des Fragenden hat - zumal oft die Erklärungen aufgrund fehlender Rechtschreib, Grammatik, und/oder Zeichensetzungskenntnissen mehrmals gelesen werden müssen, um sie zu verstehen, oder auch aus gleichem Grund gar nicht oder falsch verstanden werden.
Nun zu deiner Frage.
Trotz nun vorhandener Datei kann zumindest ich dir nicht helfen. Das muss aber nicht unbedingt an der Datei liegen, sondern es kann auch sein, dass ich zu wenig Wissen habe, was deine Fragestellung betrifft, d. h., dass ich da wohl der Falsche bin.
Aber ich hatte ja schon in meinem ersten Beitrag befürchtet, dass ich nich helfen kann.
Viel Erfolg! Ich bin sicher, dass hier der eine oder andere mehr Ahnung hat als ich.
Ciao
Thorsten
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige