ICh habe eine Rechnungsübersicht, meine Agingliste sowie eine Mahnliste. ( Siehe Datei)
Nun soll mir im Tabellenblatt "Mahnungen" die Spalte E, F, G und H die Datum eingetragen werden welche in der Rechnungsübersicht in Spalte N, O, P und Q stehen, damit ich sehe wann und was ich zu der Rechnung schon gemacht habe.
Bei jedem Wechsel des Kindes in B2 ( Mahnungen) sollen dann die Spalten E bis H neu befüllt werden mit den Daten zur passenden Rechnung. ( die Zeilennummern zur passenden Rechnung stehen jeweils in Spalte AV)
Wenn ich eine neue Zahlungserinnerung oder Mahnung sende trage ich das Datum in Spalte E bis H ein und möchte mit VBa diese Daten dann wieder in die Rechnungsübersicht zu den korrekten Rechnungen kopieren.
03.05.2025, 14:24 (Dieser Beitrag wurde zuletzt bearbeitet: 03.05.2025, 14:26 von Gast 123.)
Hallo
anbei deine Datei zurück mit einer simplen Makro Lösung. Zwei eigenständige Makros! Ich habe einige Zeit überlegt ob ich dir die Lösung anbieten soll, weil es in Mahnungen -Formeln- gab. Mit denen kam ich nicht zurecht, fand sie nicht sinnvoll. Die Eingabe in Zelle B1 verstand ich garnicht.
Es gibt jetzt in Mahnungen einen Button, der dir alle offenen Rechnungen als reinen Text auflistet. Die alte Liste wird dabei jedesmal gelöscht, und die Daten nach Fam-ID und Rech-Datum sortiert. Ändern sich Daten in Rechnungsübersicht, Spalte N-Q, werden die Daten bei Eingabe sofort kopiert.
Solltest du für Mahnungen Formeln bevorzugen, kannst du mit dem 2. Makro weiterarbeiten! Das 1. Makro befindet sich in Modul1, das Target Makro im Sheet "Rechnungsübersicht". Jedes Makro arbeitet autonom, für seine spezielle Anwendung entwickelt.
Zur Zeit kommt eine Fehlermeldung wenn die Rechnung noch nicht in Mahnungen existiert. Sollte dir die Makro Lösung gefallen, kann man es noch optimieren, neue Rechnungen unten anhängen.
mfg Gast 123 Nachtrag ich habe die Datei noch mal hochgeladen, weil ich mir nicht sicher war ob sie schon gespeichert war??
Damit fällt der Hilfsbereich K:HI weg. Mit Spaltenwahl() zeigst du nur die gewünschten Spalten an.
Im Gegensatz zu Gast123 habe ich keine VBA Lösung versucht, da die betreffenden Makros noch auf deinem Sharepoint in der Quelldatei liegen. Da du ja nach dem Versenden die Daten zurückschreiben möchtest, wird wohl eine passende Lösung im Versenden-Makro unterzubringen sein. Vielleicht zeigst du es uns noch.
Vielen Dank für Eure Unterstützung. Gast 123, Deine Lösung ist vom Ansatz her super, jedoch möchte ich wirklich nur die offenen Rechnungen einzeln auflisten wenn ich über B2 das gewünschte Kind aufrufe. Habe nun versucht ein neues Datum reinzuschreiben aber dieses Datum wird nach erneutem Aufruf der Rechnungen nirgends in der Rechnungsübersicht gespeichert und ist beim erneuten aufruf einfach weg.
freut mich sehr das dir meine Arbeit gefallen hat. Ich habe deinem Wunsch gemäß die Datei überarbeitet. Jetzt hast du drei Möglichkeiten, ich denke das sollte für dich jetzt Optimal sein. Würde mich sehr freuen.
Du kannst, wie bisher, alle Rechnungen als Übersicht auflisten. Das habe ich gelassen. Neu ist, das du die alten Daten löschen kannst, und jedes Kind einzeln auflisten kannst. Dabei kannst du per KontrollBox entscheiden ob du nur 1 Kind sehen willst, oder mehrere. Steht die KontrollBox auf "alte Daten löschen" siehtst du nur 1 Kind. Sonst auch mehrere.
Hinweis: Ich weiß nicht ob du in Mahnungen die Spalten ab K noch brauchst?? Sonst löschen? Die DropDown Liste "B2" war leer, weil im Sheet Aging-List in Spalte AY keine Kinder Liste vorliegt!
Zitat:Habe nun versucht ein neues Datum reinzuschreiben ... Diese Frage habe ich nicht verstanden?
In welches Sheet und welches Datum meinst du damit, das ist mir noch schleierhaft?
Bitte prüfe mal, ob bei Rechnungen die in Mahnungen bereits drin stehen Daten geändert werden. Das Target Makro in Rechnungsübersicht habe ich gelassen, nur die Fehlermeldungen gelöscht. Wäre ideal wenn du da Daten änderst, und die auch sofort in Mahnungen geändert werden.
Jetzt warte ich mal ab was dein Test ergibt. Viel Spass beim testen. Viele Grüsse aus Izmir.
Vielen Dank, das ist aber leider auch noch nicht ganz das was ich brauche. Wenn ich im Sheet " Mahnungen" das Kind in B2 wechsle, soll dann alle Rechnungen welche überfällig sind aufgelistet werden und nur diese. Rechnungen im Zahlungsziel interressieren mich da nicht. Wenn ich dann zbsp. in Zahlungserinnerungen das Datum von Heute einegebe weil ich Heute die Zahlungserinnerung gesendet habe, soll es mir dies danach in die Rechnungsübersicht übertragen.
Spalte N (Rechnungsübersicht) ist in Mahnung die Zahlungserinnerung, Spalte O ( Rechnungsübersicht) die 1.0 Mahnung, etc.
Beim erneuten aufruf des Kindes in Sheet "Mahnungen" sollen dann die neu eingetragenen Daten automatisch aufgelistet werden
Sorry, du kennst deine Datei In- und Auswendig, aber für mich ist vieles "Böhmische Dörfer!" Ich sehe deine Zahlungserinnerung, als "Aging_List", aber da sind doch überall Formeln drin!! Wo bitte trägt du da ein Datum ein?? Ich sehe auch keine Spaltenüberschrift für Datum!!
Mir fällt gerade noch eine wichtige Sache in "Aging_List" auf! Ich sehe Fam-ID und Kundenname, aber kein Rechnungs-Datum und keine Rechnungs Nr.! Wie soll ich das in Rechnungsübersicht zuordnen, wenn es mehrere offene Rechnungen gibt?? Das habe ich noch nicht verstanden. Und verwirrt mich völlig.
Das Target Makro habe ich korrigiert, bitte teste es einmal für Kind4. Lösche dann die eingefügte Test Zeile 16 und prüfe noch einmal für Kind4. Das andere kann ich erst bearbeiten wenn ich weiß wo genau du das Datum eingibst. Am besten mit Angabe des Sheet und der Zelle oder Spalte.
zum nächsten Schritt bin ich der Meinung habe ich doch geschrieben welches Sheet was betrifft.
wenn ich im Sheet "Mahnungen" in B2 das Kind 2 auswähle, listet Excel in Zeile 10 eine Rechnung auf da diese überfällig ist. Nun schreibe ich in E10 das Datum von Heute ein ( versende Heute die Zahlungserinnerung)
wenn ich nun den Buttton Übertrag anklicke, soll das Datum aus e10 in die Rechnungsübersicht übertragen werden ( nur die Datum welche man händisch in SPalte E-H einträgt) im Falle von Kind 2 wäre dies in der Rechnungsübersicht dann die Zelle N12
im Sheet Mahnungen werde ich jeweils von Spalte E-H händisch Datum eintragen, und diese Einträge sollen wiederum über den Button Übertrag in die Rechnungsübersicht ( zu der korrekten rechnung) in Spalte N-Q kopiert werden.
Die Aging List ist eigentlich nur eine Zwischenstation welche ich eigentlich nicht mehr aktiv brauche. also kann man diese ignorieren.
da war was mit Schwarzwald, und wenn man (geistig) im Wald steht ....
Hänge im Sheet Rechnungsübersicht diesen neuen Codeteil einfach an den vorhandenen Code dran. Prüfe bitte ob meine Idee auch gleichzeitig Reminder und den Mahnungstext einzutragen korrekt ist. Das Makro ist so simpel, die Spalten mit Buchstaben bezeichnet, das du Fehler selbst korrigieren kannst. Würde mich freuen wenn jetzt damit alle Wünsche erfüllt sind. Ich bin gespannt wie dein Test ausgeht.
mfg Gast 123
Code:
'Auto-Ausfüllen in Rechnungsübersicht If Not Intersect(Range("E10:H30"), Target) Is Nothing Then With Sheets("Rechnungsübersicht") lz1 = .Cells(Rows.Count, 2).End(xlUp).Row rw = 0 'Rechnungs-Nr. suchen For Each AC In .Range("F7:F" & lz1) If AC.Value = Cells(Target.Row, 2) Then rw = AC.Row: Exit For Next AC If rw = 0 Then MsgBox "Rechnung nicht gefunden!", vbInformation: Exit Sub 'Reminder Spalte setzen .Cells(rw, "M") = "Ja" 'Datum in Rechnungsübersicht einfügen Select Case Target.Column Case 5: .Cells(rw, "N") = CDate(Target) .Cells(rw, "L") = "1. Mahnung" Case 6: .Cells(rw, "O") = CDate(Target) .Cells(rw, "L") = "2. Mahnung" Case 7: .Cells(rw, "P") = CDate(Target) .Cells(rw, "L") = "3. Mahnung" Case 8: .Cells(rw, "Q") = CDate(Target) .Cells(rw, "L") = "3. Mahnung / Inkasso" End Select End With End If