Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1080to1084
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
Abfrage Schliessen Userform über Kreuz
19.06.2009 11:50:51
Roland
Hallo fleissige VBA-Helfer
Ich habe ein Problem, bei dem ich im Moment nicht durchblicke.
Ausgangslage:
Ein Code "Test0815" in einem normalen Modul
Eine Userform "Userform1"
Frage:
Wie kann ich im Test0815 abfragen ob die Userform1 übers Kreuz oben rechts verlassen wurde, da ich wenn dies der User macht den Code abbrechen, also Exit Sub machen möchte.
Ich hatte da so eine Jdee, weil ja beim schliessen übers Kreuz CloseMode 0 zurückgegeben wird, dachte ich mir ich könnte das im Code Test0815 abfragen. Funktioniert aber so nicht.
If UserForm1.UserForm_QueryClose.CloseMode = 0 Then
Exit Sub
End If
Die Möglichkeit über eine Public-Variable zB. str_abgebrochen "ja" beim schliessen zu übergeben und dann diese im Code abzufragen, kenne ich. Es gibt hier sicher aber eine elegantere Lösung.
Hat jemand eine Jdee?
Besten Dank
Gruss Roland

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

Betreff
Datum
Anwender
Anzeige
AW: Abfrage Schliessen Userform über Kreuz
19.06.2009 11:59:24
Tino
Hallo,
Deferiere Dir in einem Modul eine Public Variable vom Typ Boolean,
diese setzt Du auf True wenn über ein Button beendet wird, diese kannst Du dann im Code abfragen.
Denke aber daran, vor dem Aufruf der Userform diese auf False zu setzen.
Gruß Tino
AW: Abfrage Schliessen Userform über Kreuz
19.06.2009 12:02:07
Ramses
Hallo
Das geht schon

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
'Verhindert das schliessen
Cancel = True
MsgBox "Dies ist nicht erlaubt.", vbOKOnly + vbInformation, "Error."
'Unload Me
'Zum Schliessen der Application bitte Kommentarzeichen entfernen
'Application.Quit
End If
End Sub


Gruss Rainer

Anzeige
AW: Abfrage Schliessen Userform über Kreuz
19.06.2009 12:05:03
NoNet
Hallo Roland,
der Ansatz ist grundsätzlich richtig, allerdings ist CloseMode nur dann bekannt, solange das UF noch aktiv ist !
Ergo : Speichere diesen Status z.B. in einer Globalen Variable und werte diese nach dem Schliessen des UF aus.
Kopiere dazu diesen Code in ein allgemeines Modul (z.B. Modul1) :

Public intUFCloseMode As Integer 'Globale Variable für CloseMode in UF
Sub ufAnzeigen()
intUFCloseMode = 999 'Vorbelegung
UserForm1.Show
If intUFCloseMode = 0 Then MsgBox "UF per Kreuz geschlossen !"
End Sub


Im UF verwendest Du diesen Code zum "Speichern" des Status :


Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
intUFCloseMode = CloseMode 'Status des Schliessens in globale Variable speichern
End Sub


Gruß, NoNet

Anzeige
AW: Abfrage Schliessen Userform über Kreuz
19.06.2009 12:17:20
Roland
Hallo zusammen
Besten Dank für eure Hilfe.
Die Lösung von NoNet entspricht meinen Vorstellungen und funktioniert. Geht aber in die Richtung mit der Public-Variable, die ich schon beschrieben habe.
So wie es den Anschein macht geht das also nur über eine Public-Variable.
Nochmals besten Dank
Gruss Roland

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige