Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

UF aktivieren + Layout

Betrifft: UF aktivieren + Layout von: Erich M.
Geschrieben am: 18.09.2004 11:56:01

Hallo EXCEL-Freunde,

habe mit Hilfe des Forums bzw. Recherche das Öffnen einer UF wie folgt
entwickelt:

Private Sub UserForm_Layout()
'   Von Bert Körn
' <a href="http://www.forum.excelabc.de/">http://www.forum.excelabc.de/</a>
    Me.Move Application.Width / 2 - Me.Width / 2, Application.Height / 2 - Me.Height / 2
End Sub



Private Sub UserForm_Initialize()
Dim z As Integer, s As Integer
z = Range("A65536").End(xlUp).Row
s = 7
    ' Ergänzen!!
    With Label3
    .Caption = Sheets("Zählblatt").Cells(z, s)
    End With
End Sub



Private Sub UserForm_Activate()
    Dim sngTime As Single
    sngTime = Timer + 6
    Do
        Label4 = Format((sngTime - Timer) \ 1, "##### Sekunden")
        DoEvents
    Loop Until sngTime <= Timer
    Unload Me
End Sub


Das Ganze funktioniert soweit ganz prima. Allerdings gibt es einen
Schönheitsfehler:
Die UF wird doppelt (hintereinander, leicht versetzt) angezeigt.
Nun habe ich die obigen Codes schon unterschiedlich gemixt und verschoben
- aber immer ohne Erfolg.

Gibt es eine Möglichkeit das "Layout" (verhindert, dass die UF verschoben
werden kann) irgendwie in Initialize oder Activate zu integrieren??

Besten Dank für eine Hilfe!

mfg
Erich
  


Betrifft: AW: UF aktivieren + Layout von: Nepumuk
Geschrieben am: 18.09.2004 12:38:54

Hallo Erich,
nein, das get nicht. Du kannst aber auch per API verhindern, dass das Userform verschoben wird:


Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As StringByVal lpWindowName As StringAs Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As LongByVal bRevert As LongAs Long
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As LongByVal nPosition As LongByVal wFlags As LongAs Long

Private Sub UserForm_Activate()
    Dim hwndForm As Long, hwndMenu As Long
    hwndForm = FindWindow(vbNullString, Me.Caption)
    If hwndForm <> 0 Then
          hwndMenu = GetSystemMenu(hwndForm, 0)
          If hwndMenu <> 0 Then DeleteMenu hwndMenu, &HF010, &H0
    End If
End Sub


Gruß
Nepumuk


  


Betrifft: AW: UF aktivieren + Layout von: Erich M.
Geschrieben am: 18.09.2004 13:33:19

Hallo Nepumuk,

leider noch nicht der gewünschte Erfolg.
Der Code läuft soweit durch, die UF kann ich allerdings verschieben.
(Habs unterschiedlich getestet; Gesamtcode in UF und einmal den ersten Codeteil
in ein Modul und Activate in UF)

Noch eine Idee?

mfg
Erich


  


Betrifft: AW: UF aktivieren + Layout von: Nepumuk
Geschrieben am: 18.09.2004 13:48:56

Hallo Erich,
das funktioniert garantiert: https://www.herber.de/bbs/user/11032.xls
Wenn noch ander API - Funktionen drin sind, dann müsste ich das Wissen, um sie zu kombinieren.
Gruß
Nepumuk


  


Betrifft: ...sorry, das hatte ich nicht geschnallt... von: Erich M.
Geschrieben am: 18.09.2004 14:34:29

Hallo Nepumuk,

Dein Vorschlag funktioniert natürlich; hinderlich ist ein zusätzliches Makro
mit dem ich das Schließkreuz außer Gefecht setze. Ich habe meine UF in Deiner
Datei ergänzt (=UserForm2); könntest Du das prüfen, ob man das anpssen kann,
dass das Kreuz wegbleibt und die UF nicht verschoben werden kann?
https://www.herber.de/bbs/user/11037.xls

Besten Dank!

mfg
Erich


  


Betrifft: AW: ...sorry, das hatte ich nicht geschnallt... von: Nepumuk
Geschrieben am: 18.09.2004 18:22:35

Hallo Erich,
das klappt nicht. Tut mir leid.
Gruß
Nepumuk


  


Betrifft: AW: ...sorry, das hatte ich nicht geschnallt... von: Erich M.
Geschrieben am: 18.09.2004 19:36:31

Hallo Nepumuk,

kann man nichts machen - werd das jetzt mit Deiner Variante von heute Mittag (ALT F4-
Thread) und dem Code von Bert Körn wie gehabt lösen.

Aber selbstverständlich Besten Dank für Deine Bemühungen!

mfg
Erich


 

Beiträge aus den Excel-Beispielen zum Thema "UF aktivieren + Layout"