Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: UserForm aufrufen und schließen

UserForm aufrufen und schließen
28.05.2018 16:50:26
Siegfried
Hallo @alle,
stehe mal wieder vor einem Problem zu welchem ich leider keine Lösung bis dato gefunden habe.
ich möchte auf AK4 einen Wert aus der UserForm eintragen, diese UserForm aber wenn möglich durch Return in AK4 öffnen.
Das eintragen der Werte aus der UserForm funktioniert nur der Aufruf der UserForm gelingt mir leider nur aus dem Macrotext heraus durch aufrufen mit F5 bzw. Button UserForm ausführen.
Habe ich dann den gewünschten Wert ausgewählt und klicke auf "Auswahl übernehmen" wird dieser in AK4 übernommen aber der Code von UserForm1 nicht geschlossen.
Hier der Code von UserForm1

  • Option Explicit
    
    Private Sub cmdCancel_Click()
    Unload Me
    End Sub
    

    Private Sub CommandButton1_Click()
    If Len(SelectName) = 0 Then
    SelectName = Worksheets("GrundDaten").Range("A7")
    End If
    Worksheets("GrundDaten").Range("AK4") = UserForm1.Box1
    Sheets("GrundDaten").Select
    Range("A1").Select
    Rem cmdCancel_Click
    End
    End Sub

    Private Sub UserForm_Initialize()
    ' 1. Möglichkeit der ComboBox
    With UserForm1.Box1
    .AddItem "HighW"
    .AddItem "FRA"
    .AddItem "Nord"
    .AddItem "Sued"
    .AddItem "CCA"
    .AddItem "CC"
    .AddItem "BD"
    .AddItem "KML"
    .ListIndex = 0 ' = HighW
    End With
    End Sub

  • Wer kann mir bitte zu einer Lösung weiterhelfen?
    Gruß Siegfried
    Anzeige

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: UserForm aufrufen und schließen
    28.05.2018 16:54:46
    Hajo_Zi
    Hallo Siegfried,
    mit
    Worksheets("GrundDaten").Range("AK4") = UserForm1.Box1
    schreibst Du Text in die Zelle.
    Die meisten bauen Deine Datei nicht nach. Die Zeit hat schon jemand investiert.
    Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
    Die meisten möchten es am Original testen um den gleichen Fehler zu erhalten.
    Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)

    Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
    Anzeige
    AW: UserForm aufrufen und schließen
    28.05.2018 23:32:40
    Siegfried
    nun besonders ergiebig sind die Hilfestellungen bis jetzt nicht!
    Und lieber @Hajo_Zi diese *.xlsm ist etwas zu mächtig um sie gesamt hochzuladen bzw. um sie auf das erforderliche abzuspecken etwas sehr arbeitsreich.
    Meine Hauptfrage ist/war ja eigentlich (ich möchte auf AK4 einen Wert aus der UserForm eintragen, diese UserForm aber wenn möglich durch Return in AK4 öffnen.) hat den dafür niemand einen Lösungsansatz?
    Gruß Siegfried
    Anzeige
    AW: UserForm aufrufen und schließen - Schlußberich
    29.05.2018 20:11:14
    Siegfried
    Nun für @alle zur INFO,
    da ich keine brauchbaren Lösungshinweise bekommen habe und auch im WEB trotz intensiver Suche und probieren aller nur gefundenen und möglichen Lösungsvorschlägen konnte ich die geplante Umsetzung mit der RETURN-Taste nicht lösen.
    Habe mir nun den Ausweg über die Anlegung eines „Formularsteuerelemtes“ gesucht und da FUNZ die UserForm so wie ich es mir vorstellte.
    DANKE das war es dann, Gruß Siegfried
    Anzeige
    ;
    Anzeige
    Anzeige

    Infobox / Tutorial

    UserForm in Excel mit VBA aufrufen und schließen


    Schritt-für-Schritt-Anleitung

    Um eine UserForm in Excel mit VBA aufzurufen, musst du zunächst sicherstellen, dass du die Entwicklungsumgebung von VBA geöffnet hast. Hier ist eine Schritt-für-Schritt-Anleitung:

    1. VBA-Entwicklungsumgebung öffnen:

      • Drücke ALT + F11, um die VBA-Entwicklungsumgebung zu öffnen.
    2. UserForm erstellen:

      • Rechtsklicke im Projektfenster auf dein Projekt und wähle Einfügen > UserForm.
    3. Steuerelemente hinzufügen:

      • Füge Steuerelemente wie Textfelder und Buttons hinzu, um die Benutzerinteraktion zu ermöglichen.
    4. Code für das Öffnen der UserForm:

      • Füge folgenden Code in ein Modul ein, um die UserForm zu öffnen:
        Sub UserFormÖffnen()
        UserForm1.Show
        End Sub
    5. UserForm schließen:

      • Um die UserForm zu schließen, kannst du den folgenden Code verwenden:
        Private Sub cmdCancel_Click()
        Unload Me
        End Sub
    6. Wert in eine Zelle (z.B. AK4) eintragen:

      • Verwende diesen Code, um den Wert aus der UserForm in die Zelle AK4 zu schreiben:
        Private Sub CommandButton1_Click()
        Worksheets("GrundDaten").Range("AK4").Value = Me.Box1.Value
        Unload Me
        End Sub

    Häufige Fehler und Lösungen

    • Fehler: UserForm öffnet sich nicht.

      • Lösung: Stelle sicher, dass du das Code-Modul korrekt verlinkt hast und die UserForm den richtigen Namen hat.
    • Fehler: Wert wird nicht in AK4 geschrieben.

      • Lösung: Überprüfe, ob die UserForm-funktion "CommandButton1_Click" korrekt ausgeführt wird und die Zelle AK4 existiert.
    • Fehler: UserForm schließt sich nicht.

      • Lösung: Stelle sicher, dass der Unload Me Befehl im Click-Ereignis des Schaltfläche verwendet wird.

    Alternative Methoden

    Falls du die UserForm nicht direkt über einen Button oder Makro aufrufen möchtest, kannst du auch eine Tastenkombination verwenden. Hier ist, wie du das machst:

    1. Tastenkombination erstellen:

      • Erstelle ein Makro, das die UserForm öffnet und weise eine Tastenkombination zu:
        Sub UserFormÖffnenMitShortcut()
        UserForm1.Show
        End Sub
    2. Shortcut zuweisen:

      • Gehe zu Entwicklertools > Makros, wähle dein Makro und klicke auf Optionen, um eine Tastenkombination zuzuweisen.

    Praktische Beispiele

    Hier ist ein einfaches Beispiel zur Verwendung einer UserForm:

    Private Sub UserForm_Initialize()
        With Me.Box1
            .AddItem "Option 1"
            .AddItem "Option 2"
            .AddItem "Option 3"
        End With
    End Sub

    In diesem Beispiel wird die ComboBox beim Initialisieren der UserForm mit verschiedenen Optionen gefüllt.


    Tipps für Profis

    • Verwende UserForm_Initialize: Nutze das UserForm_Initialize Ereignis, um die UserForm optimal vorzubereiten, bevor sie angezeigt wird.

    • Verwende Option Explicit: Füge Option Explicit an den Anfang deiner Module hinzu, um sicherzustellen, dass alle Variablen deklariert werden.

    • Fehlerbehandlung: Implementiere Fehlerbehandlung in deinem Code, um unerwartete Abstürze zu vermeiden.


    FAQ: Häufige Fragen

    1. Wie kann ich eine UserForm in Excel VBA aufrufen? Um eine UserForm in Excel VBA aufzurufen, kannst du den Befehl UserForm1.Show in einem Makro verwenden.

    2. Wie schließe ich eine UserForm in VBA? Du kannst eine UserForm mit dem Befehl Unload Me schließen, um sie aus dem Speicher zu entfernen.

    3. Kann ich die UserForm mit einer Taste öffnen? Ja, du kannst eine Tastenkombination erstellen, um die UserForm über ein Makro zu öffnen, indem du eine Shortcut-Taste zuweist.

    4. Was kann ich tun, wenn die UserForm nicht reagiert? Überprüfe, ob der Code in den richtigen Modulen platziert ist und ob die UserForm den richtigen Namen hat.

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige