Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

userform schließen

Forumthread: userform schließen

userform schließen
15.03.2006 07:44:38
Stefan
Hallo,
ich möchte meine Userform ausschließlich über den dafür vorgesehenen Button schließen, nicht über das Kreuzchen rechts oben am Bildschirm.
Grundsätzlich gibt es hierzu auch einen Code, der mir auch bekannt ist. Nur brauch ich die Userform für eine Initialize Anweisung, oder gibt es eine Möglichkeit, auf eine Userform mehrere Makros zu legen.
Vielleicht kann man ja über Eigenschaften das Kreuzchen deaktivieren?
Wer kann mir hierzu helfen?
Auf jeden Fall schon mal besten Dank.
Gruß
Stefan
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: userform schließen
15.03.2006 08:16:19
Hoffi
Hallo Stefan,
versuch mal dies (Userform ohne x-Button):
'Code in den Codeteil deiner Userform
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
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 DrawMenuBar Lib "User32" (ByVal hWnd As Long) As Long
Private Const GWL_STYLE = -&H10
Private Const WS_SYSMENU = &H80000
'Aufruf beim starten der Userform

Private Sub UserForm_Activate()
Dim lHwnd As Long, lStyle As Long
lHwnd = FindWindow("ThunderDFrame", Me.Caption)
SetWindowLong lHwnd, GWL_STYLE, GetWindowLong(lHwnd, GWL_STYLE) And Not WS_SYSMENU
DrawMenuBar lHwnd
End Sub

Grüße
Hoffi
P:S: Rückmeldung wäre nett...
Anzeige
AW: userform schließen
15.03.2006 13:09:37
Stefan
Hallo Hoffi,
besten Dank für deine Ausführungen.
Leider hilft mir das nicht weiter.
Den mit deinem Makro "Private Sub UserForm_Activate()"
belegt du ja wieder die Userform, die ja mit "Privat Sub Userform1 Inititalize" belegen muss.
Und wenn ich die Userform mit "Activate" belege, kann ich doch nicht sie nicht gleichzeitig mit "Initialize" belegen, oder? - wenn ja wie geht das?
Ich dachte, man kann über "Eigenschaft" wie bei jedem Steuerungsmodul auch, das Häckchen rechts oben unterbinden oder zumindest funktionsuntüchtig machen.
Vielleich hast du hierzu eine Lösung?
Gruß
Stefan
Anzeige
AW: userform schließen
15.03.2006 16:56:59
Hoffi
Hallo Stefan,
bei VBA kann man leider nicht den Button wie bei VB6 weg machen.
Inizalize und activate kann man getrennt von einander belegen.
versuch mal(anstelle dem anderen)diesen Code, der reagiert nur auf den x-Button:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
Cancel = 1
MsgBox "Bitte die Schaltfläche zum beenden benutzen!",64, "Programm beenden!"
End If
End Sub

Grüße
Hoffi
P.S. Rückmeldung wäre nett...
Anzeige
;

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