AW: 2 Multipages in einer Userform
22.06.2021 14:56:20
Markakus
Hallo Daniel, Yal und Zwenn,
vielen Dank für eure Hilfe,
ihr habt recht ich könnte den Bildwechsel jeweils mit dem Register (TapStrip) machen, da meine Form immer gleich bleibt und sich nur jeweils das Bild ändert.
Würdet Ihr dann die Fragen auch auf den TapStrip legen oder einen extra TapStrip für die Fragen anlegen?
Soviel ich verstanden habe würdet ihr genügend Tabs per Hand erzeugen und die am Ende nicht für ein Bild benötigten Tabs entweder automatisch löschen oder leer lassen.
Ich werd mal versuchen ob ich das so selbständig hinbekomme. Ist eine TapStrip zuverlässiger als eine Multipage?
Was Du auf zwei Multipages aufteilen willst, gehört doch zu einem Datensatz oder?
Wie wird denn Datensatz definiert? Ich habe mal die Datenstruktur im folgenden Bild dargestellt:

Zu jeder Maschine habe ich ca. 10 Bilder (Wartungsort). Zu jedem Wartungsort sind es ca. 10 Aufgaben die zu erledigen sind und abgefragt werden sollen. Tatsächlich variiert aber die Anzahl der Aufgaben und Wartungsorte.
Die Daten aus der Wartungsliste würde ich nach einer Maschine filtern und sortieren und den Datensatz in ein Array oder in ein Tabellen-Register von Wartungsprotokoll.xlsm schieben. Diesen Datensatz würde man dann auch nur selten ändern. Aus dem Datensatz kann dann der Intervall abgelesen werden, wann die nächste Wartung fällig ist und die Userform zum richtigen Zeitpunkt aufpopen lassen.
Beteiligt sind die Wartungsliste.xlsx (Eingabe), die Userform im Wartungsprotokoll (Bearbeitung) und das Wartungsprotokoll.xlsm (Ausgabe)

Was Du auf zwei Multipages aufteilen willst, gehört doch zu einem Datensatz oder? Ein Bild auf dem der Ort der Aufgabe mit der Aufgabennummer markiert ist (Steuerelement ist ein Image-Control, in dem Das Bild "einfach" getauscht werden kann) und die Möglichkeit, die Erledigung der Aufgabe zu verwalten (wofür ein oder mehrere weitere Steuerelemente gebraucht werden). Diese Erledigung gehört doch jeweils zu genau einem Bild oder?
Meinst du damit, ich könnte in der Userform das Bild direkt in der Image-Control wechseln, wenn ich die letzte Aufgabe zu einem Bild erreicht habe? Also wenn ich eine bestimmte Anzahl auf einen ControlButton gedrückt habe? Also den den Trigger zum Bildwechsel. Wie würde ich das anstellen?
wenn davon auszugehen ist, dass die hinzugefügten Seiten alle gleich aussehen (gleiche Steuerelemente an gleicher Position), dann ist es einfacher, auf die Multipage zu verzichten und nur eine einzige Seite anzulegen.
Was meinst du konkret mit einzige Seite anlegen?
Mehrere solcher Datensätze kannst Du in "nested dictionaries" verwalten. Also Scripting.Dicitonaries, die in einem Scripting.Dictionary angelegt werden. Das ergibt eine dynamsiche Datenstruktur. Beim Aufruf der UserForm werden alle für den Aufruf benötigten Datensätze in die Dictionaries geschrieben. Das sind dann genau die Daten, die Du in den Steuerelementen durchschalten willst. Das kann dann z.B. mit einem Scrollbar gemacht werden. Wenn Du auf den OK Button klickst, werden die Inhalte der Dictionaries in die Excel-Tabelle(n) geschrieben. Bei Abbruch wird die UF einfach geschlossen und die Daten verfallen.
Ich weis nicht was du mit "nested dictionaries" meinst. Kannst du mir evtl. ein Beispiel davon schicken?
Ich hoffe ich habe mich verständlich ausgedrückt.
Es tut mir leid, dass ich so lange gebraucht habe um zu Antworten. Ich war ein bischen überfordert und musste mich erst mal orientieren.
Gruß
Markakus