Erweiterung einer Userform in UserForm_Activate()

Registriert
März 2023
Beiträge
21
Hallo Forumsmitglieder.

Bisher bin ich gut mit meinem Excel-Handbuch und dem Internet über die Runden gekommen. Doch jetzt habe ich ein Problem, mit dem ich nicht weiterkomme.

Es geht um die dynamsiche Erweiterung einer Userform. Um es für das Forum einfacher zu machen, habe ich nur den Teil zur Verfügung gestellt, der meine Userform "etwas" anpassen soll, und zwar in der "UserForm_Activate()"-Routine.

In dieser Routine werden 2 zusätzliche Option-Buttons eingefügt.

Mein Problem: was ich auch tue, ich sehe nicht mehr meinen ursprünglichen CommandButton.

Kann mit jemand weiterhelfen? Meine Muster-Mappe habe ich hochgeladen.
 

Anhänge

  • ProblemUserform.zip
    19,3 KB · Aufrufe: 88
Bitteschön....
 

Anhänge

  • ProblemUserform_002.zip
    15,9 KB · Aufrufe: 85
Ohne dein Beispiel downlzuloaden: vergiss solche Ideen.
«Neue» Objekte müssen an freie Plätze und es muss Platz für diese freien Plätze vorhanden sein oder durch Vergrößerung der UserForm geschaffen werden.
Dann brauchst du die Koordinaten und auch das Äußere jener Objekte (Ersteres ist vllt. etwas umständlicher als Letzteres).
Und besonders braucht »dieses Kind einen Namen«; einen Namen der… siehe nächste Zeile.
Weiterhin muss es Code geben der auf diese Objekte reagiert, und dessen bedarf es eines - Namens.

Lege mit googlebarem Code mal 5 Option-Buttons einfach an. Schau dir links (nach F4) die Eigenschaften, Namen an. Nun lösche die Buttons einfach per Hand und mach noch mal. Die Zählung wird fortgesetzt - und dann finde mit Codelogik solche Dinge wieder.
Etwas, das mich auch gewaltig fuchst: nie kann man ein Objekt unter Angabe eines Namens anlegen.

CN8
 
Hallo Gameforce

Herzlichen Dank für den von Dir angepassten Code. Ich dachte mir, dass es nicht großes sein kann, was an meinem Code fehlt oder falsch ist. Aber ohne eigene Erfahrung ist das schlecht zu finden.

Mein Problem ist damit gelöst.

Hallo cumulonimbus8.

Natürlich habe ich mir Gedanken gemacht, bevor ich (m)eine Userform-Basis erstellt hatte.

Aktuell gibt es 4 Auswahlmöglichkeiten, eine bestimmte Aktion auszuführen. Und für jede dieser Aktionen ist ein entsprechender Code vorhanden.

Diese (derzeit) 4 Möglichkeiten stelle ich mit der entsprechenden Anzahl von Options-Buttons zur Auswahl.

Wenn diese Auswahl getroffen ist, kommt die 2. Auswahl. Jetzt geht es darum, welcher Bereich angesprochen wird. Diese Anzahl ist variabel und stammt aus einer externen Quelle. Es können maximal 12 Bereiche sein. Wieder nutze ich die gleiche Userform und erzeuge nun bis zu 12 Options-Buttons.

Um jederzeit einen Abbruch machen zu können, habe ich in der Userform einen entsprechenden Command-Button vorgesehen.

Damit die Userform nicht zu kompliziert wird, möchte ich die Entscheidungen immer getrennt anfordern, also in zwei oder mehr Schritten.

In der weiteren Verarbeitung wird jeweils eine Eingabe erwartet, um die variablen Daten einzugeben, bzw. die Löschung eines Bereichs zu bestätigen. Dazu nutze ich dann nicht die Userform.

Das alles ist bereits realisiert und im Einsatz - mit Ausnahme das Abbruch-Button.
 
Gut wenn es so tut wie du erwartest.
Mich haben genug Operationen mit UserForms schon ordentlich vor Schienbein getreten. Gerade neu anlegen - grausig.

Nur als Idee: vermutlich gibt es eine Obergrenze an Optionen? Vielleicht legst du, ggf. unter Hilfsmakrohilfe, alle (!) Buttons an - damit stehen alle (!) Positionen fest, auch die für den\die Abbruch-Button [UF schließen?]. Nun die Idee dahinter: die Buttons sind alle unsichtbar und werden peu á peu über die erste Auswahl sichtbar gemacht (da kann auch diese Auswahl unsichtbar werden). Du musst dann nichts mehr neu anlegen (und potenziell auch wieder löschen). Der Trick ist also sichtbar und unsichtbar machen.

CN8
 
Zurück
Oben