Registriert seit: 07.05.2025
Version(en): Office 365
07.05.2025, 12:39
Hallo zusammen,
ich bin ein absoluter Neuling auf dem Gebiet und hoffe, dass ich mein Problem einigermaßen verständlich beschreibe:
Ich habe den Auftrag bekommen, eine Art "ToDo-Liste" mit Excel Makros zu erstellen. Ziel ist es, dass man via Click auf einen dafür angelegten Button im Excel-Arbeitsblatt zu einem Userform gelangt, auf dem sich bestimmte Einträge machen lassen (z.B. Größe, Gewicht, Datum, etc.). Wenn man dann alle Eintragungen gemacht hat, kann man dann ins Arbeitsblatt zurückkehren - und die Eintragungen im UserForm sollen gespeichert werden.
Die Struktur sollte als ungefähr so sein: Produkt 1: Button im Arbeitsblatt > öffnet Userform -> Eintragungen zu Produkt 1 (Größe, Gewicht, etc.) Produkt 2: Button im Arbeitsblatt > öffnet Userform -> Eintragungen zu Produkt 2 (Größe, Gewicht, etc.)
Ziel ist es, den immer wiederkehrenden Prozess der Datenerfassung zu unseren Produkten so zu vereinfachen und alle Daten in einem Arbeitsblatt möglichst übersichtlich beieinander zu haben.
Mein Problem ist folgendes: Ich habe sowohl ein generisches UserForm erstellt, das alle relevanten Aspekte des Produkts abfragt, als auch eine Schaltfläche im Arbeitsblatt installiert. Ich kann auch Eintragungen im UserForm machen, die zumindest für den Zeitraum der aktuellen Session gespeichert bleiben. Wenn ich Excel nun aber schließe, gehen (trotz "Speichern") die Angaben im UserForm verloren. Gibt es eine Möglichkeit, diese zu speichern? Bzw. ist unsere Idee überhaupt praktikabel?
Liebe Grüße und besten Dank
schnablu
Registriert seit: 26.09.2022
Version(en): 2019
Moin,
schon die Aufgabenstellung scheint mir recht unreflektiert. Warum sollte der Weg (Makro! UserForm!!) teil der Lösung sein? Gibt es irgendeinen stichhaltigen Grund, die benötigten Informationen nicht direkt in einer Tabelle zu erfassen? Excel bringt ja ein UserInterface "Tabellenblatt" mit, das ist milliardenfach getestet und funktionell recht ausgereift, in wiefern sollte da eine selbst "gebastelte" Lösung überlegen sein? Oder steht der Wunsch im Vordergrund, so zu tun, als hätte man eine ziemlich professionelle Lösung erarbeitet?
Viele Grüße derHöpp
Folgende(r) 1 Nutzer sagt Danke an derHoepp für diesen Beitrag:1 Nutzer sagt Danke an derHoepp für diesen Beitrag 28
• schnablu
Registriert seit: 06.09.2016
Version(en): 2016
Hallo Schnablu,
Du gibst die Daten ins Userform ein. Und dann? Was passiert mit den Daten?
Ich würde erwarten, dass Du sie dann irgendwo in dein Blatt schreibst, um sie später auszuwerten. Entsprechend kannst Du beim Initialisieren des Userforms den letzten Datensatz aus dem Blatt ins Userform schreiben.
Gruß, Lutz
Registriert seit: 07.05.2025
Version(en): Office 365
07.05.2025, 13:43
(Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2025, 13:43 von schnablu.)
Also, die Idee war, das alles möglichst übersichtlich zu halten: Wir müssen nämlich bestimmte Daten zu unseren Produkten, die sich laufend vermehren, immer wieder erfassen. Wenn man das alles in Arbeitsblätter schreiben würde, hätte man irgendwann entweder eine enorm große oder sehr viele Tabellen. Um das zu vermeiden, dachten wir uns, es wäre schön, hinter jedem Tabelleneintrag (Produkt 1, 2, 3, 4, etc.) eine Schaltfläche mit entsprechendem PopUp (eben das UserForm) setzen zu können, und die Daten einfach dort zu hinterlegen. So würde dieser Teil so lange schön ordentlich hinter seiner Schaltfläche versteckt bleiben, bis man ihn abruft. Noch dazu könnte man dann das in seinen Abfragen generisch auf alle Produkte abgestimmte UserForm immer wieder verwenden. Da das nicht meine Idee war (bin Praktikant), habe ich natürlich erstmal selbst ein bisschen recherchiert: Nun scheint es mir so, dass ein UserForm eigentlich nur als eine Art Eingabemaske für Daten verwendet werden kann, für die man dann definiert, wo im Arbeitsblatt sie hinterlegt werden sollen. Für unsere Idee müssten die Daten aber IM UserForm selbst hinterlegt werden, das heißt, es müsste sich selbst umprogrammieren? Und das geht vermutlich nicht - oder doch? Mir wäre schon damit geholfen, wenn mir jemand eine Erklärung dafür geben könnte, warum unsere Idee nicht praktikabel ist. Den Vorwurf "unreflektiert" lasse ich, was mich betrifft, uneingeschränkt gelten: Ich frag ja euch Profis, um das Reflexionsniveau möglichst zu erhöhen!
Folgende(r) 1 Nutzer sagt Danke an schnablu für diesen Beitrag:1 Nutzer sagt Danke an schnablu für diesen Beitrag 28
• derHoepp
Registriert seit: 26.09.2022
Version(en): 2019
07.05.2025, 13:52
(Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2025, 13:52 von derHoepp.)
Hallo,
UserFormen leben nur zur Laufzeit des Programms und verlieren danach alles, was nicht Einstellung eines Steuerelements ist. Die Daten müssen also ohnehin irgendwo gespeichert, geladen, aufbereitet und wieder gespeichert werden. In Excel ist die gewöhnliche Speicherform eine Tabelle. Eine einzelne Tabelle bietet platz für 1.048.575 Datensätze. Ein Datensatz kann dabei theoretisch 16.384 Merkmale speichern. Das sollte für gewöhnlich ausreichen. Eine Tabelle lässt sich in Excel in vielfältiger Weise auswerten, filtern, anders darstellen. Eine UserForm, die auf Excel-Tabellen aufbaut ist zunächst einmal eine zusätzliche Mensch-Maschine-Schnittstelle, die der /die ProgrammiererIn mit Leben und Logik füllen muss. Meistens werden dabei bereits vorhandene Excelfunktionen umständlich und fehlerhaft nachprogrammiert.
Die Idee ist aus meiner Sicht also nicht praktikabel, weil der einfachste und effektivste Weg umgangen wird um durch eine Simulation eines "echten" Verwaltungsprogramms ersetzt zu werden. Sinnvoller wäre es einfach alle Informationen in +eine+ Tabelle untereinander zu erfassen. Erledigte Punkte erhalten dann einfach ein erledigt-Datum und können weggefiltert werden.
Viele Grüße derHöpp
PS: Für konkretere Hinweise wäre eine konkretere Beschreibung der Datenstrukturen hilfreich.
Folgende(r) 1 Nutzer sagt Danke an derHoepp für diesen Beitrag:1 Nutzer sagt Danke an derHoepp für diesen Beitrag 28
• schnablu
Registriert seit: 12.04.2014
Version(en): Office 365
Wir sehen uns! ... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Registriert seit: 22.09.2024
Version(en): 2010, 2021
Hallo schnablu,
die Idee ist deshalb nicht praktikabel, weil man die Daten persistent abspeichern muß, und das geht nicht in einer Userform, sondern nur in einer Tabelle. Diese Tabelle stellt dann im weitesten Sinne eine Datenbank dar und die Daten sollten also nach einem entsprechenden Datenmodell organisiert und strukturiert sein. Das gilt für Datenbanken allgemein und auch für Excel, damit mit diese Daten später auch vernünftig gearbeitet werden kann.
Dazu wäre es notwendig, zunächst ein entsprechendes Datenmodell zu entwickeln und sich dann Gedanken darüber zu machen, mit welchem "Werkzeug" diese Anwendung - Excel oder gleich eine richtige Datenbank - realisiert werden könnte bzw. sollte.
Mal gerade eben wird so nicht funktionieren, schon gar nicht, wenn es später gewerblich und produktiv eingesetzt werden soll. Anstatt einem Praktikanten so eine Aufgabe zu übertragen, wäre es wohl angebrachter, hier gleich einen Auftrag für einen Freelancer auszuloben.
Gruß Knobbi38
Folgende(r) 1 Nutzer sagt Danke an knobbi38 für diesen Beitrag:1 Nutzer sagt Danke an knobbi38 für diesen Beitrag 28
• schnablu
Registriert seit: 04.10.2022
Version(en): 2016-365
Hi, auch wenn ich mich damit mal wieder weit rauslehne und dies keinerlei Hilfe ist: Wie ich dies seit Jahrzehnten verabscheue. Da will ein Chef eine Eierlegende Wollmilchsau ist aber zu knausrig, jemanden damit zu beauftragen, der weiß worum es geht. Man müsste die Anforderungen untersuchen, ein Konzept entwickeln und überlegen, welche Anwendung überhaupt dafür geeignet ist (scheint eher Datenbank lastig zu sein - aber das ist geraten)
Und dann wird ein Praktikant daran gesetzt, der nichts kostet und soll mal schauen wie weit er kommt, indem er im Netz Leute versucht zu finden, die dem Chef die Kröten sparen. Vielleicht noch ein wenig KI hinzumischen - die völlig verblödet dann irgendwas konstruiert - und sich dann wundern, das nichts funktioniert.
Und dann gibt es immer noch wieder Leute, die so etwas unterstützen.
Sorry, aber mich kotzt diese Mentalität von diesen alles kostenlos haben wollen Menschen (ich meine nicht dich) einfach an. Verschenkt dein Chef eigentlich die Produkte?
Gruß P
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
Moin! Auch wenn ich @OnlineExcel positiv bewertetet habe: Aus Erfahrung weiß ich, wie mit Praktikanten "umgegangen" wird. Der Verantwortliche denkt sich etwas möglichst Umfangreiches aus, welches der Qualifikation des Praktikanten diametral gegenübersteht. Wohl wissend, dass man ihn erst mal ruhig gestellt hat. Sollte wider Erwarten etwas Praktikables dabei herauskommen, wird es dennoch niemals im Produktivbereich eingesetzt. Dies ist das vorhersehbare Schicksal etlicher Werksstudenten / Praktikanten, whatever.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 12.03.2016
Version(en): Excel 2003/ 2016
07.05.2025, 20:44
(Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2025, 20:46 von Gast 123.)
Hallo schnablu
sollte dein Chef dir eine unlösbare Aufgabe gestellt haben, kannst du ihn trotzdem lächelnd "aufs Kreuz legen." Keine UserForm kann Daten speichern, die gehen beim schliessen IMMER verloren. Da haben die Kollegen recht!
Nur ein alter Mann aus Izmir/TR weiss, wie die Daten OHNE Tabelle im Dialog erhalten bleiben. Da könnten die Forum Kollegen ziemlich ins staunen kommen! (Excel 95/97 Dialog Sheet) Macht aber -Keinen Sinn- bei tausenden von Daten!
Lade doch bitte mal eine Beispieldatei hoch, und gib uns an, welche Daten da drin stehen sollen. Nur um mich köstlich zu amüsieren könnte ich dir da was programmieren! Einfach nur zum Spaß! Ist aber eine nicht mehr von MS publizierte Uralt Kamelle, 1994 gerne verwendet in Excel 7 Dateien.
mfg Gast 123
Nachtrag für Kollegen: der Uralt Code -DialogSheets.Add- funktioniert auch bei xlsm immer noch!
|