Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Userform beenden

Userform beenden
19.11.2008 12:45:05
TomTom
Hi,
ich habe eine userform1. Dort ist ein Button drauf, mit dem ich eine weitere Userform (2) öffne.
Auf der Userform2 ist wiederum ein Button, mit dem ich die Userform2 auch wieder schliessen will.
Mach dies mit UNLOAD ME.
Damit will ich eigentlich zu meiner ersten Userforn (1) zurück.
Wenn ich denn Code aber ausführe, dann schliessen sich aber beide Userformen .
was mach eich denn falsch ?. Will nur dass meine 2. Userforn geschlossen wird und dass ich wieder bei meiner Haupt-Userform bin.
Danke mal
Tom
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform beenden
19.11.2008 12:54:27
Tino
Hallo,
hier mal ein Beispiel
Dialog UserForm1
Option Explicit 
 
Private Sub CommandButton1_Click() 
UserForm2.Show 
End Sub 

Dialog UserForm2

Option Explicit 
 
Private Sub CommandButton1_Click() 
Unload UserForm2 
End Sub 


Gruß Tino

Anzeige
AW: Userform beenden
19.11.2008 13:32:14
TomTom
Hallo Tino,
genau so habe ich es auch gemacht, aber trotzdem fällt mir meine Userform1 auch mit zu.
Kann es damit zu tun haben, dass ich meine Userfoem1 auch mit einem Show-Befehl öffne:

Private Sub Workbook_Open()
UserForm1.Show
End Sub


Wenn dann ein bestimmtes Ereignis auftritt, starte ich meine Userform2.show.
Kann es sein, dass die Userform2 dann mit zufällt ?
Gruss
Tom

Anzeige
AW: Userform beenden
19.11.2008 13:41:00
Chris
servus,
sind beide UFs geöffnet oder versteckst du beim Öffnen von UF2 die UF1?
So in der Art

Sub zeig()
Userform1.Hide
Userform2.Show
End Sub


Dann könnte es sein, dass die UF zwar da ist, aber nicht angezeigt wird.
Gruß
Chris

Anzeige
AW: Userform beenden
19.11.2008 14:14:08
TomTom
Hi,
nein, die userform1 ist immer geöffnet und wird nicht versteckt. Ich sehe sie auch , nachdem ich meinerUserform2 geöffnet habt, da diese in der Grösse kleiner ist.
Gruss
Tom
AW: Schick mal ein Beispiel...
19.11.2008 14:53:00
Chris
... einfach die Datei ohne Daten uploaden, falls zu groß.
ich kann mir das beim besten Willen nicht erklären. Wenn du Unload Userform2 ausführst, dass dann auch Unload Userform1 ausgeführt wird.
Gruß
Chris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Userform in Excel VBA effektiv beenden


Schritt-für-Schritt-Anleitung

Um eine Userform in Excel VBA zu beenden, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen. In diesem Beispiel verwenden wir zwei Userforms: UserForm1 und UserForm2.

  1. Öffne UserForm1 beim Start von Excel. Füge den folgenden Code in das ThisWorkbook-Modul ein:

    Private Sub Workbook_Open()
       UserForm1.Show
    End Sub
  2. Erstelle einen Button auf UserForm1, der UserForm2 öffnet. Der Code für den Button sieht wie folgt aus:

    Private Sub CommandButton1_Click()
       UserForm2.Show
    End Sub
  3. Füge einen Button auf UserForm2 hinzu, um die Userform zu schließen. Der entsprechende Code lautet:

    Private Sub CommandButton1_Click()
       Unload Me
    End Sub

Mit diesen Schritten kannst du sicherstellen, dass nur UserForm2 geschlossen wird, während UserForm1 geöffnet bleibt.


Häufige Fehler und Lösungen

Ein häufiges Problem ist, dass beim Schließen von UserForm2 auch UserForm1 geschlossen wird. Hier sind einige Lösungen:

  • Problem: Beide Userforms schließen sich.

    • Lösung: Stelle sicher, dass du den Schließen-Befehl (Unload Me) nur auf UserForm2 anwendest. Überprüfe, ob UserForm1 im Code nicht versehentlich ebenfalls mit dem Unload-Befehl angesprochen wird.
  • Problem: UserForm1 ist versteckt.

    • Lösung: Wenn du beim Öffnen von UserForm2 UserForm1 versteckst, stelle sicher, dass du sie wieder sichtbar machst, wenn du sie benötigst:
    UserForm1.Show

Alternative Methoden

Wenn du die Userform beenden möchtest, gibt es verschiedene Ansätze, dies zu tun:

  • Verwende Hide anstelle von Unload: Wenn du die Userform nur ausblenden möchtest, ohne sie aus dem Speicher zu entfernen, kannst du den Befehl Hide verwenden:

    Private Sub CommandButton1_Click()
       UserForm2.Hide
    End Sub
  • Verwende DoEvents: Wenn du komplexere Logik hast, kannst du DoEvents verwenden, um sicherzustellen, dass alle Ereignisse bearbeitet werden, bevor du die Userform schließt.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung von Userforms in VBA:

  1. Öffnen und Schließen: Wenn du ein Formular hast, das Eingaben erfordert, kannst du es mit einem Button öffnen und mit einem Schließen-Button die Eingaben verwerfen.

    Private Sub CommandButton1_Click()
       UserForm2.Show
    End Sub
    
    Private Sub CommandButton2_Click()
       Unload UserForm2
    End Sub
  2. Datenübertragung zwischen Userforms: Du kannst Werte von UserForm1 an UserForm2 übergeben und beim Schließen von UserForm2 wieder zurückgeben.

    ' In UserForm1
    Private Sub CommandButton1_Click()
       UserForm2.TextBox1.Value = Me.TextBox2.Value ' Wert übertragen
       UserForm2.Show
    End Sub

Tipps für Profis

  • Verwende WithEvents: Um spezifische Ereignisse für deinen Userform-Schließen-Button zu behandeln und um sicherzustellen, dass die Userform korrekt geschlossen wird.

  • Verwalte mehrere Userforms: Wenn du mehrere Userforms hast, überlege, wie du den Navigationsfluss zwischen ihnen optimieren kannst. Halte die Logik klar und einfach, um Verwirrung zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich eine Userform in Excel VBA vollständig schließen?
Verwende den Befehl Unload Me im Code der Userform, die du schließen möchtest.

2. Warum schließt sich meine erste Userform, wenn ich die zweite schließe?
Stelle sicher, dass du Unload nur für die spezifische Userform verwendest und nicht versehentlich den Befehl für die erste Userform ausführst. Überprüfe den Code gründlich.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige