Namen der Userform auslesen und in String speichern

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Blaupunkt79.

    Namen der Userform auslesen und in String speichern

    Hallo Zusammen,

    ich habe eine Excel Datei, welche ausschließlich per Userform läuft. Jetzt wollte ich einbauen, dass man den F-Tasten ein Menü zuordnet, sozusagen die Möglichkeit per Schnellstart.

    Ich möchte, dass wenn man eine F-Taste drückt, sämtliche offenen Userformen (bis auf "Hintergrund") ausgeblendet werden per .hide und dann das zugeordnete Menü geöffnet wird. Welche F-Taste ich drücke, erkennt das Programm bereits.

    Folgendermaßen zeigt er mit alle offenen Userformen an.

    Visual Basic-Quellcode

    1. For i = 0 To VBA.UserForms.Count - 1
    2. MsgBox UserForms(i)
    3. Next


    Kann ich diese Reihenfolge umkehren, da ich ja die zuletzt geöffnete Userform als erstes per .hide ausblenden muss? Wie übergebe ich "Userforms(i)" einem String? Kann ich per String eine Userform laden und anzeigen lassen?

    Bitte um Hilfe

    Danke

    Gruß
    Also anderherum durchlaufen ginge so:

    Visual Basic-Quellcode

    1. For i = VBA.UserForms.Count - 1 To 0 step -1
    2. MsgBox UserForms(i)
    3. Next


    Was du damit meinst: " Kann ich per String eine Userform laden und anzeigen lassen?" Verstehe ich ehrlich gesagt nicht.
    LG
    Das ist meine Signatur und sie wird wunderbar sein!
    Ich kann mir zwar nicht vorstellen, dass es Sinn macht, eine Form nach dem Namen anstatt per Objekt zu adressieren.
    Aber versuch's mal mit

    Visual Basic-Quellcode

    1. Load UserForms("MyGUI")


    bzw.

    Visual Basic-Quellcode

    1. Set MyForm = UserForms("MyGUI")
    2. Load MyForm
    3. MyForm.Show
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --