Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
556to560
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
556to560
556to560
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

zwischen Userform wechseln

zwischen Userform wechseln
02.02.2005 11:22:55
Guido
Hallo Experten,
ich stehe wieder mal hilflos vor folgendem Phänomen:
Der Wechsel zwischen zwei Userform mit Userform1.Hide, Userform2.Show bzw. Userform2.Hide, Userform1.Show funzt im Prinzip. Wenn ich aber (innerhalb Userform2) per Button die Subroutine DRUCKEN abgearbeitet habe, und jetzt auf Userform1 wieder zurück möchte, wird die Userform2 nicht ausgeblendet sondern Userform1 darüber (Userform1 ist kleiner als Userform2) eingeblendet und nichts geht mehr?
Was mache ich falsch bzw. kann man besser machen?
Bin für jeden Tip dankbar.
Liebe Grüße aus Würzburg
Guido

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zwischen Userform wechseln
02.02.2005 12:12:19
Matthias
Hallo Guido,
wenn du ein UserForm mit der Eigenschaft Showmodal = True (Standardeinstellung) aktiviertst (z.B. mit Show), dann wartet die aufrufende Prozedur, bis das UF wieder geschlossen wurde (Unload Me oder Me.Hide).
Abhilfe schafft hier, dem UF die Eigenschaft ShowModal = False zu geben, dann wird die aufrufende Prozedur weiter abgearbeitet, ohne auf das Schließen des aufgerufenen UF zu warten.
Du musst aber bedenken, dass der Code nicht wartet! Evtl. treten also ohne Codeänderung dann unerwünschte Nebeneffekte auf.
Gruß Matthias
AW: zwischen Userform wechseln
Guido
Danke Matthias,
aber ich glaube, ich habe mich nicht richtig ausgedrückt.
Ich kann Problemlos zwischen beiden Userform wechseln, solange ich die in der Userform2 eingebettete Druckroutine noch nicht benutzt habe. Habe ich diese aber einmal benutzt und das heißt, sie wurde vollständig abgearbeitet, dann tritt der Fehler auf, dass sich beim Betätigen des Button: "zurück zur Userform1", die Userform2 nicht ordnungsgemäß schließt und Excel sich aufhängt. Das Setzen der ShowModal-Eigenschaft hat darauf leider keinen Einfluß.
Gibt es nicht die Möglichkeit, auf das Schließen der Userform2 zu prüfen (mit Userform2.Hide = true oder so was) um dann im Anschluß erst wieder Userform1 zu aktivieren?
Gruß
Guido
Anzeige
AW: zwischen Userform wechseln
02.02.2005 13:17:20
Matthias
Hallo Guido,
du kannst so prüfen:
If UserForm1.Visible = True Then
Gruß Matthias
Vielen Dank Matthias, leider ...
Guido
... behauptet Excel, wenn ich mit "If Userform2.Visible=False" prüfe, ob die Userform tatsächlich geschlossen ist, dass dem so wäre.
Auch der Code:

Private Sub cmdzurueck_Click()
UserForm3.Hide
If UserForm3.Visible = True Then
MsgBox "Userform läßt sich nicht schließen!"
Exit Sub
ElseIf UserForm3.Visible = False Then
End If
UserForm2.Show
End Sub

wird ignoriert und die Userform2 in jedem Fall eingeblendet!
Faszinierend und für mich nicht nachvollziehbar. Zur Not muss ich diese Funktion deaktivieren.
Auch wenn Dir nichts mehr dazu enfällt, vielen Dank noch mal für Deine Mühe.
Gruß
Guido
Anzeige
AW: Vielen Dank Matthias, leider ...
02.02.2005 15:02:49
Matthias
Hallo Guido,
gib Excel etwas Zeit, den Hide Befehl auch auszuführen:
UserForm3.Hide
DoEvents
If UserForm3.Visible = True Then

Nicht getestet, aber oft hilft das.
Gruß Matthias
Hallo Matthias (und andere): Fehler gefunden ....
Guido
Hallo Matthias,
es liegt wohl daran, dass ich aus der Userform2 heraus noch mal auf Userform1 (oder eine andere Userform) zugreife, so dass diese im Hintergrund aktiv ist. Da deren Code nicht umfänglich abgearbeitet wird, kann ich Userform2 nicht korrekt schließen! Ich werde den Code noch mal überarbeiten müssen.
Danke für Deine Anregungen und Hilfe
Gruß
Guido
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige