Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1828to1832
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
UserForm dynamisch in Spalten einfügen
11.05.2021 15:28:26
Madeleine
Hallo Zusammen,
ich bin ein absoluter VBA/UserForm Neuling und versuche mich aktuell an der Erstellung einer Abrechnungstabelle für die Gastronomie.
Kurz zur Erläuterung (wenig technisch, aber dass man hoffentlich versteht was mein Ziel ist):
In Spalte B ergibt sich, wenn alle anderen Spalten ausgefüllt sind, die Summe des gesamten Tagesumsatzes über alle Dispositonen.
Die Spalten D-H sind quasi fix (die UserFormen dafür erstelle ich noch). Die Daten aus der UserForm in die entsprechenden Spalten/Zellen einzufügen bereitet mir - da diese statisch sind und IMMER vorhanden keine Probleme.
Spalte "I" dient zur Eingabe der Umsätze der einzelnen Kellner, welche dann durch "Speichern" in die entsprechenden Zeilen (wie benannt) in Spalte "I" übertragen werden. Das schaffe ich gerade noch :-) Nun kommt der Teil, der mich bereits an meine laienhaften Grenzen bringt.
Da die Anzahl der benötigten Spalten "Eingabe Kellner" täglich variiert (es sollen immer nur so viele Spalten existieren wie benötigt, also Kellner am jeweiligen Tag abgerechnet wurden). Meine Idee: der Button "weiteren Kellner hinzufügen" kopiert Spalte "I", inkl. der UserForm und fügt diese als zusätzliche Spalte, für eine weitere Kellnerabrechnungs-Spalte, ein. Das klappt auch noch. Doch wenn hier nun die Userform ausgefüllt wird, sollen die Daten auch in die entsprechende Spalte übertragen werden und natürlich nicht Spalte "I" überschrieben werden. Dafür benötige ich nun einen Code, der mir sozusagen die UserForm immer in die aktive Spalte überträgt.
So sieht das Ganze bislang aus:
https://www.herber.de/bbs/user/146137.xlsm
Ich hoffe das erklärt etwas besser, worauf ich hinaus möchte.
Und bitte verurteilt mich nicht, für meine wirklich jämmerlichen und nicht vorhandenen Excel und VBA-Kenntnisse.
Tausend Dank schon Mal für hilfreiche Tipps und Kniffe! Eventuell gibts ja noch viel simplere Lösungen dafür.
Grüße, Madeleine

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm dynamisch in Spalten einfügen
11.05.2021 23:21:46
Yal
Hallo Madeleine,
was Du versuchst zu lösen, kann mit Userform geholfen werden, aber der entscheidende Punkt ist, wie Du die Daten ablegst.
Idealerweise werden anschliessend alle Daten in eine vertikale Liste vorkommen. Eine Tabelle mit Spalten- und Zeilenüberschrift ist schon ein "Ergebnis". Diese Auswertungsform ist eingefroren: beschränkt und kaum erweiterbar.
Folgende Lösung erlaubt die Eingabe pro Kellner und externe Umsatz-Kanäle.
Gespeichert werden:
_ Datum (heutige)
_ Umsatzweg (Kellner oder online shops)
_ Umsatzart (7%, 19%, Gutschein)
_ Zahlungsmittel
_ Wert
Darauf wird aus den Stammdaten geholt:
_ Klassifierung erumsatzweg: intern (Kellner) oder Extern (Online)
_ Zahlungsmittel-Typ (Bar / nicht bar)
_ ... alle was Du noch sonst brauchst
Diese in Spalten organisierte Datentabelle wird anhand eine beliebig umgestaltbare Pivottabelle ausgewertet.
Es mag nicht ganz genau sein, was Du brauchst, aber nimm Dir Zeit die Trennung Speicherung der Daten, der Abohlung der Gruppierung über Stammdaten und der Auswertung im Auge zu nehmen. Diese Trennung auch MVC benannt (model view controller) ist die Grundlage eine fleixibel, wartungarm, erweiterbar und effiziente Datenhaltung und Auswertung.
https://www.herber.de/bbs/user/146140.xlsm
Viel Erfolg damit
VG
Yal
Anzeige
AW: UserForm dynamisch in Spalten einfügen
12.05.2021 12:27:35
Madeleine
Hallo Yal,
vielen lieben Dank für deine ausführliche Antwort und deine Hilfe!
Ich schau mir das mal an.
Grundlegend arbeiten da verschiedene Personen mit der Abrechnungstabelle. Daher sollte alles auf einem Tabellenblatt statt finden und am nächsten Tag, für den der die Umsätze prüft, auch auf einen Blick ersichtlich sein. Ich habe Angst, mit zu vielen Tabellen und Blättern die Sache zu komplex zu machen und hatte gehofft das alles über die UserForm auf einem Blatt lösen zu können ;-(
Dafür gibt es keine passende Formel, welche mir einfach meinen UserForm Daten in die jeweils neu erstellte Spalte überträgt?
Anzeige
AW: UserForm dynamisch in Spalten einfügen
12.05.2021 14:32:06
Yal
Hallo Madeleine,
je mehr Personen an einer Aufgabe beteiligt sind, desto wichtiger ist es, eine klare Struktur zu haben.
Summierungsformeln innerhalb von Eingabe ist zwar typisch Excel, ist aber alles ausser klare Struktur. Daher Trennung der Daten, Berechnung und Präsentation. Pivottabelle machen sowohl Berechnung als auch Präsentation in einem.
Du könntest die Eingabe direkt auf eine Blatt machen, in dem Du in 3 Spalten das Datum, der Kellner/Dienst, die Umsatzart (U7%, U19%, GS). da 3 Zahlungsmittel gäbe es nur 3 Zeilen pro Kellner/Dienst (vielleicht 4 wenn man Trinkgeld als Umsatz sehen möchte).
Dann wären die Zahlungsmittel als Spaltenüberschrift. In diese 2-Dimensionale Struktur ("pivotiert") erfolgt die Eingabe. Die Auswertung per Pivottabelle wäre weiterhin möglich, nur leicht umstandlicher.
Mit einem Power Query könnte man die Gruppierung Kellner->Intern, Dienst->Extern und Karten- bzw. Barumsatz dazu "mappen" und entpivotisieren,
um anschliessend einen Pivot drauf zu machen. Es wäre allemal leichter als diese Userform.
Anbei ein Beispiel:
_ Stammdaten, weiterhin notwendig
_ Eingabe, sieht fast aus wie das Userform, ist aber nur eine Tabelle.
_ Zusammenfassung ist das, was mit Power Query zusammengebracht wird. Per Rechtklick "Aktualisieren". Bei separaten Erfassungen könnten jede Zusammenfassung zu eine ganzen konsolidiert werden.
_ Auswertung ist die Pivottabelle auf die Zusammenfassung. Auch per Rechtklick aktualisieren.
https://www.herber.de/bbs/user/146143.xlsx
Keine Makro, kein Userform.
Viel Erfolg
VG
Yal
Anzeige

179 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige