Ich weiß das die Frage hier schon mindestens einmal gestellt wurde....und jetzt find ich es leider nicht mehr wieder :-/
Wie kann man das x zum schließen einer Userform entfernen oder zumindest deaktivieren?
Danke für die Hilfe :-)
Gruß
Nancy
Ich weiß das die Frage hier schon mindestens einmal gestellt wurde....und jetzt find ich es leider nicht mehr wieder :-/
Wie kann man das x zum schließen einer Userform entfernen oder zumindest deaktivieren?
Danke für die Hilfe :-)
Gruß
Nancy
entfernen ist nicht, aber deaktivieren mittels
michel
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub
falls Du unbedingt das x weghaben willst, bleibt Dir die Variante die Titelleiste auszublenden, allerdings ist die Lösung von Michel absolut vorzuziehen:
http://xlfaq.herber.de/texte/131301h.htm
Viel Spaß,
Andreas
hiermit kannst Du Abfragen, ob das X angeklickt wurde. Das wird dann ignoriert. Du solltest aber vorher eine Möglichkeit zum schließen einbauen.
Hier gibt es auch eine Möglichkeit das X komplett zu entfernen - ist aber etwas komplizierter.
http://www.vb-fun.de/cgi-bin/loadframe.pl?ID=vb/tipps/tip0214.shtml
Gruß
Christian
merk zwar gerade das ich selbst dann noch zu blöd bin wenn ich es fertig serviert bekomme, aber wird schon irgendwann klappen....grins
Gruß
Nancy
Um das Schließen-Kreuz (X) in einer Excel VBA Userform zu deaktivieren, kannst du den folgenden Code in das Code-Fenster deiner Userform einfügen:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub
Dieser Code sorgt dafür, dass das Schließen über das Schließen-Kreuz ignoriert wird. Damit bleibt die Userform geöffnet, selbst wenn der Benutzer auf das X klickt.
Der Code wird nicht ausgeführt
Stelle sicher, dass der Code im richtigen Bereich eingefügt wurde, nämlich im Code-Fenster der Userform.
Die Userform lässt sich nicht mehr schließen
Wenn du den Schließvorgang komplett verhindern möchtest, solltest du sicherstellen, dass du eine alternative Möglichkeit zum Schließen der Userform bereitstellst, z.B. einen Schließen-Button.
Eine andere Möglichkeit besteht darin, die Titelleiste der Userform auszublenden. Dies kann jedoch komplizierter sein und erfordert zusätzliche API-Aufrufe. Wenn du dennoch daran interessiert bist, kannst du die folgenden Schritte ausprobieren:
Füge den API-Code in ein Modul ein:
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Const GWL_STYLE As Long = -16
Private Const WS_CAPTION As Long = &HC00000
Verwende den folgenden Code in deiner Userform:
Private Sub UserForm_Initialize()
Call SetWindowLong(Me.hWnd, GWL_STYLE, GetWindowLong(Me.hWnd, GWL_STYLE) And Not WS_CAPTION)
End Sub
Diese Methode entfernt die Titelleiste und damit auch das Schließen-Kreuz.
Hier ist ein einfaches Beispiel, das zeigt, wie du das Schließen-Kreuz deaktivieren kannst:
Private Sub btnClose_Click()
Unload Me
End Sub
Jetzt kannst du die Userform über den Button schließen, während das Schließen-Kreuz deaktiviert bleibt.
1. Kann ich das X komplett entfernen?
Nein, du kannst das Schließen-Kreuz nicht vollständig entfernen, aber du kannst es deaktivieren.
2. Was passiert, wenn ich das Schließen-Kreuz deaktiviere?
Wenn du das Schließen-Kreuz deaktivierst, bleibt die Userform geöffnet, bis du eine andere Möglichkeit zum Schließen implementierst.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen