Office: Beenden einer bzw. mehrerer Userformen

Helfe beim Thema Beenden einer bzw. mehrerer Userformen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, Im Rahmen meiner Arbeit darf ich eine Excelmappe modifizieren, die zu jedem Monat diverse Daten beinhaltet (Name des Kunden, Anzahl... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von correx, 6. August 2008.

  1. correx Erfahrener User

    Beenden einer bzw. mehrerer Userformen


    Hallo zusammen,
    Im Rahmen meiner Arbeit darf ich eine Excelmappe modifizieren, die zu jedem Monat diverse Daten beinhaltet (Name des Kunden, Anzahl der Kunden etc.). Um diese Arbeit zu vereinfachen, möchte ich mit Hilfe eines/mehrerer makros die entsprechenden Werte der Reihe nach abfragen. Es beginnt also mit der Frage nach dem Monat, in dem der Eintrag erstellt werden soll.
    Die eleganteste Lösung ist die Monate in einem DropDown Menü anzuzeigen, und nachdem dies leider nicht mittels einer Inputbox möglich ist, habe ich mich für eine Combobox entschieden. Klappt soweit auch wunderbar, jetzt soll mit Hilfe eines buttons "weiter" die nächste Abfrage laufen, mit "Abbrechen" das ganze beendet werden.

    Hier der Code für die ComboBox/Dropdown

    Code:
        Private Sub UserForm_Initialize()
    
        With ComboBox1
            .AddItem "Januar"
            .AddItem "Februar"
            .AddItem "März"
            .AddItem "April"
            .AddItem "Mai"
            .AddItem "Juni"
            .AddItem "Juli"
            .AddItem "August"
            .AddItem "September"
            .AddItem "Oktober"
            .AddItem "November"
            .AddItem "Dezember"
        End With
        End Sub
    



    Für den Weiter Button
    Code:
        Private Sub Weiter_Click()
            x = ComboBox1.Text
        If x = "Januar" Then
            Sheets("1").Activate
        End If
            If x = "Januar" Then
            Sheets("1").Activate
        End If
            If x = "Februar" Then
            Sheets("2").Activate
        End If
            If x = "März" Then
            Sheets("3").Activate
        End If
            If x = "April" Then
            Sheets("4").Activate
        End If
            If x = "Mai" Then
            Sheets("5").Activate
        End If
            If x = "Juni" Then
            Sheets("6").Activate
        End If
            If x = "Juli" Then
            Sheets("7").Activate
        End If
            If x = "August" Then
            Sheets("8").Activate
        End If
            If x = "September" Then
            Sheets("9").Activate
        End If
            If x = "Oktober" Then
            Sheets("10").Activate
        End If
            If x = "November" Then
            Sheets("11").Activate
        End If
            If x = "Dezember" Then
            Sheets("12").Activate
        End If
        Unload Me
    
    End Sub

    Und für Abbruch
    Code:
    Private Sub Abbruch_Click()
    
        Unload Me
    
    End Sub

    Die UserForms werden in meinem Makro auf die recht primitive Weise
    Code:
    Steuerung()
    
        UserForm1.Show
    
        UserForm2.Show
    
    End Sub
    angesteuert. Das Problem:
    Wähle ich nun in meiner UserForm1, also der Abfrage nach dem Monat die Option abbrechen, so wird zwar dieses Userform abgebrochen, allerdings wird natürlich dennoch die zweite UserForm2 geöffenet. Vielmehr soll an dieser Stelle wirklich das ganze Makro abgebrochen werden...

    Habt ihr irgendeine Idee wie man dieses Problem umschiffen kann, bzw habe ich von grundauf einen denkfehler begangen?
     
    correx, 6. August 2008
    #1
  2. schatzi Super-Moderator
    Hallo!

    Ungetestet:
    Erstelle eine globale Variable außerhalb der einzelnen Subs:
    Code:
    Public Abbruch As Boolean
    
    Setze diese Variable im "Weiter"-Makro auf False und im "Abbruch"-Makro auf True.
    Im "Steuerung"-Makro fragst du dann diese Variable ab:
    Code:
    Steuerung()
    UserForm1.Show
    If Abbruch Then Exit Sub
    UserForm2.Show
    End Sub
     
    schatzi, 6. August 2008
    #2
  3. correx Erfahrener User
    Wow, Danke für die schnelle Antwort!
    Hört sich von der Idee auf jeden Fall mal äußerst gut an, jetzt müsste ich dich nur noch kurz fragen außerhalb welcher subs ich die variable definieren muss.
    Wenn ich dich richtig verstanden habe in meinem UserForm1. Tue ich dies, erhalte jedoch eine Fehlermeldung. Was bewirkt denn "Public" genau, kenne nur "Dim" zur Einführung von Variablen.

    Grüße
     
    correx, 6. August 2008
    #3
  4. schatzi Super-Moderator

    Beenden einer bzw. mehrerer Userformen

    Hallo!
    Außerhalb ALLER Subs, z.B.
    Code:
    Public Abbruch As Boolean
    
    Sub Steuerung()
    UserForm1.Show
    If Abbruch Then Exit Sub
    UserForm2.Show
    End Sub
     
    schatzi, 6. August 2008
    #4
  5. correx Erfahrener User
    Danke, leider klappts nicht :'(
    Es kommt zwar keine Fehlermeldung mehr, aber der Befehl bleibt völlig ohne Wirkung. Sprich ich klicke abbrechen, aber in Wirklichkeit wird nur ein unload Befehel ausgeführt und ich lande im nächsten Step.
    tut mir leid für die mühe, aber ich habe auch schon das ganze web durchforstet...
     
    correx, 6. August 2008
    #5
  6. schatzi Super-Moderator
    Ja, stimmt...
    Der Code "Steuerung" läuft weiter, bevor du in UserForm1 auf irgendwas geklickt hast.
    Aber warum schreibst du den Befehl "UserForm2.Show" eigentlich in "Steuerung"?
    Was passiert, wenn du ihn hier rausnimmst und ihn stattdessen als letzte Zeile in den Code "Weiter" packst?
     
    schatzi, 6. August 2008
    #6
  7. correx Erfahrener User
    sagen wirs mal so, der abbruch befehl geht dann, dafür stimmen ne menge andere dinge nicht mehr Beenden einer bzw. mehrerer Userformen :(. ich werd jetzt mal ein paar steps weitermachen und testen und schaun worans liegt!

    Hast mir aber auf jeden fall schon riesig weiter geholfen, danke!

    Nur noch eins, brauch ich dann meine Steuerungsdatei überhaupt, oder könnte ich wenns denn geht mich auch von einer userform zur nächsten hangeln?
     
    correx, 6. August 2008
    #7
  8. correx Erfahrener User

    Beenden einer bzw. mehrerer Userformen

    thx

    also. habs jetzt in einem durchprogrammiert und läuft bis dato super,also danke nochmal für die hilfe!
     
    correx, 7. August 2008
    #8
Thema:

Beenden einer bzw. mehrerer Userformen

Die Seite wird geladen...
  1. Beenden einer bzw. mehrerer Userformen - Similar Threads - Beenden mehrerer Userformen

  2. Iterierend aufgerufene Funktion beenden (bei Array-Sortierung)

    in Microsoft Excel Hilfe
    Iterierend aufgerufene Funktion beenden (bei Array-Sortierung): Hallo zusammen, ich habe eine Funktion geschrieben, die mir eine bestimmte eingelesene "Spalte" in einem zweidimensionalen Array sortieren soll. Das funktioniert grundsätzlich auch soweit sehr...
  3. Präsentation ohne Mausklick beenden?

    in Microsoft PowerPoint Hilfe
    Präsentation ohne Mausklick beenden?: Guten Morgen zusammen. Kann ich eine automatisch laufende Präsentation (per Zeit pro Folie) auch ohne Mausklick zum Schluss beenden? Ich finde hierzu keine Einstellungen. Ich möchte, dass es...
  4. VBA Access speichern ohne beenden

    in Microsoft Access Hilfe
    VBA Access speichern ohne beenden: Hallo @ all, hab ich mich jetzt total verstrickt und seh den Wald vor lauter Bäume nicht??? Ich möchte die CurrentDB einfach nur per VBA speichern. *boah Hintergrund: Es passiert mir immer...
  5. Teilnehmen, durchführen und Beenden eines Buchungstermins-Mitarbeiter

    in Microsoft Teams Tutorials
    Teilnehmen, durchführen und Beenden eines Buchungstermins-Mitarbeiter: Teilnehmen, durchführen und Beenden eines Buchungstermins-Mitarbeiter Wenn Sie ein Mitarbeiter sind, der für einen virtuellen Termin gebucht wurde, können Sie von jedem Gerät aus über Microsoft...
  6. Excel beenden

    in Microsoft Excel Hilfe
    Excel beenden: Hallo an alle Ich sehe den Wald vor lauter Bäumen nicht Hier der Grund In Tabelle1 steht mein VBA Sub loeschex() Dim i As Long Application.ScreenUpdating = False For i = Cells(Rows.Count,...
  7. VBA-Code wird nicht mehr ausgeführ beim beenden eines Remote-Desktops (Win10-Mai-Upd)

    in Microsoft Access Hilfe
    VBA-Code wird nicht mehr ausgeführ beim beenden eines Remote-Desktops (Win10-Mai-Upd): Hallo, kann jemand bestätigen das kein VBA-Code mehr ausgeführt wird wenn man das Windows 10 Mai Update installiert hat und den PC per Remotedesktop ferngesteuert hat (und danach die Verbindung...
  8. Outlook (2019) stürzt immer wieder beim Beenden ab, ohne dass man es merkt

    in Microsoft Outlook Hilfe
    Outlook (2019) stürzt immer wieder beim Beenden ab, ohne dass man es merkt: Hallo und guten Abend. Hier die PC-Konfiguration: Intel Core2 Quad CPU Q8200 @ 2,33 Ghz, 2,33 Ghz, RAM 6GB, SD 250GB Windows 10 Pro auf SD 250GB Office 2019 auf SD 250GB Sonstige Software...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden