Haushaltskasse mit Unterkategorien

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von VisualBasti.

    Haushaltskasse mit Unterkategorien

    Hallo zusammen,
    Erstmal riesen Lob an das Forum, dank so mancher Tipps konnte ich mich schon einigermaßen in VB zurecht finden, auch wenn ich noch weit entfernt von wirklich tollen Programmier Skills bin ;D

    Zu meinem Problem:

    Meine Freundin macht bei uns zu Hause die Haushaltskasse und damit das ganze etwas leichter geht, dachte ich mir, ich prgrammier ihr das in Excel mit einer Eingabemaske in VB.
    Warum?
    Alle Eingaben kommen in eine Exceltabelle, die wiederum per Pivotabelle praktische Statistiken erzeugt.

    Konkret passiert folgendes: Sie nimmt sich einen Kassenbon aus der Sammelkiste, auf diesem steht dann ihr oder mein Name drauf und sie trägt die Kategorie des Geschäfts (Lebensmittel, Drogerie, Garten,etc...), den Gesamtbetrag ein und klickt eine von zwei Optionbuttons an, um zu definieren, wem die Rechnung gehört und klickt auf Speichern. Die eingegeben Daten, landen in einer Excel Tabelle und am Ende machen wir eine Pivo darauß und speichern sie für das Monat ab.
    Bis hierhin ist ja alles eigentlich nicht so kompliziert. Ich hab noch keine "Sicherheiten" definiert ( z.B. wurde eine Checkbox angeklickt?)aber das ist ein anderes Thema....


    Die Aufgabe: Nun kaufen wir natürlich in einem Supermarkt nicht nur Lebensmittel ein sondern auch, z.B. Drogerie Artikel. Die Möchte meine Freundin in einer Unterkategorie definieren und den Betrag automatisch vom Gesamtbetrag abziehen.
    Und hier stoß ich an meine Grenzen. Mir mangelt es einfach an wissen oder Kreativität um hier eine Lösung zu finden.

    Mein Ziel ist es, die Unterkategorie, den Namen der Person und den Wert ebenfalls in die Tabelle (wo schon Hauptkategorie, Gesamtbetrag und Person stehen) einzutragen.

    Mein Problem liegt wahrscheinlich darin, wie ich VB erkläre was die nächste Zeile ist... so schreibt das Programm immer nur in die nächste Freie Zeile, sind aber mehrere Einträge nötig (weil Unterkategorien) springt er nicht für jeden Eintrag in die nächste Zeile.
    Ebenso müsste ich ihm irgendwie erklären, dass für jeden Unterkategorie Eintrag in einer Zeile, ebenfalls der Wert aus der Optionbox dazu geschrieben werden muss und der Unterkategoriebetrag müsse ebenfalls vom Gesamtbetrag abgezogen werden.

    Ich verwende folgenden Code:

    Visual Basic-Quellcode

    1. Option Explicit
    2. Private Sub Button1_Speichern_Click()
    3. 'Erste freie Zeile ausfindig machen
    4. Dim last As Integer
    5. Dim Calc As Integer
    6. last = Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row + 1
    7. Calc = Tabelle2.Cells(Rows.Count, 1).End(xlUp).Row + 1
    8. 'Geschäft
    9. Tabelle1.Cells(last, 2).Value = ComboBox1_Geschaeft.Value
    10. 'Hauptkategorie
    11. Tabelle1.Cells(last, 3).Value = ComboBox2_Hauptkategorie.Value
    12. 'Rechnung Gesamt
    13. Tabelle2.Cells(Calc, 1).Value = TextBox1.Value
    14. 'Person1
    15. If OptionButton1.Value = True Then Tabelle1.Cells(last, 1).Value = OptionButton1.Caption
    16. 'Person2
    17. If OptionButton2.Value = True Then Tabelle1.Cells(last, 1).Value = OptionButton2.Caption



    Wie man sieht, schreib ich den Gesamtbetrag in eine 2. Tabelle. Ich dachte mir, hier passieren die Rechenschritte und am Ende übertrage ich das Ergebnis wieder zurück in Tabelle1 ..... aber das scheint mir nach reichlich grübeln keine gute Lösung zu sein.

    und so sieht meine Userform aus.



    Könnte ihr mir irgendwie einen Stupser in die richtige Richtung geben?

    *Thema verschoben* ~NoFear23m

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nofear23m“ ()

    Du solltest zunächst Überlegen wie detailliert Du Eure Daten auswerten möchtest. Also was möchtest Du am Monatsende wissen? In welchen Geschäften Du/Ihr wieviel Geld ausgeben habt? Oder wofür Ihr Eurer Geld ausgegeben habt?
    Die Daten Grundlage sind Kassenzettel. Darin sind eine Gesamtsumme und Einzelpositionen zu finden. Was bzw. wieviel möchtest Du erfassen? Die Einzelpositionen? (Dann kannst du diese zur Gesamtsumme rechnenlassen, brauchst die Gasmtsumme selbst aber nicht eingeben UND Du hast am Monatsende eine detaillierte Datensammlung) Oder interessiert Dich nur die Gesamtsumme (dann hast Du am Monatsende eine weniger detaillierte Auflistung aber dafür viel weniger Eingabearbeit).

    Dein Wunsch scheint eine Kombination aus beidem zu sein. Vielleicht hilft es ja bereits, wenn Du Deine Kategorie-Struktur anders denkst. Du hast Momentan unter Hauptkategorie die Art des Geschäftes. Das ist schwierig weil eben nicht immer eindeutig. (Im Supermarkt gibt es Lebensmittel aber eben auch Drogerieerzeugnisse, manchmal auch Kleidung oder noch wilder: Fernseher und Waschmaschinen :) )

    Verzichte doch auf die "Hauptkategorie" sondern werte die Kassenzettel aus:

    Der Tabellenkopf für die Excel-Tabelle hat dann folgende Spalten:
    Datum (des Kassenzettels)
    Person
    Geschäft_Name
    Kategorie
    Preis
    GEsamtsumme

    In deinem Userform machst du für Person und Kategorie Comboboxen und hinterlegst diesen Listen als Vorgabe:

    Für Person: zb. Peter,Claudia etc.
    Für Kategorie: zb. Lebensmittel, Drogerie, Kleidung, Bürobedarf, Baumarkt, Garten, Möbel, Sonstiges

    Bei der Eingabe wird quasi der Kassenzettel abgetippt, und dabei die Passenden Personen und Kategorien ausgewählt. Dabei kann dann der Eingeber entweder alle Positionen erfassen, oder die Positionen gem. euren Kategorien manuell zusammenfassen.