Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Userform automatisch an Bildschirmgröße anpassen

Forumthread: Userform automatisch an Bildschirmgröße anpassen

Userform automatisch an Bildschirmgröße anpassen
18.03.2009 09:02:15
Krügner
Hallo,
könnt Ihr mir bitte noch einmal helfen. Ich bin blutiger VBA-Laie. Ich habe eine Userform kreiert. Sie soll auf verschiedenen Bildschirmen (17, 15, 19 Zoll) angewendet werden. Wie bekomme ich eine automatische Anpassung auf die verschiedenen Bildschirmgrößen und Auflösungen hin. Versucht habe ich es einfach mit Bildlaufleisten. Ich sehe Sie zwar aber sie funktionieren nicht. Könnt Ihr mir helfen welcher Code wo hin geschrieben werden muß. Ich versuche es seit 7 Stunden! Wahrscheinlich bin ich zu blöd.
Danke für Eure Hilfe
https://www.herber.de/bbs/user/60404.xls
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Userform automatisch an Bildschirmgröße anpassen
18.03.2009 13:06:27
Krügner
Hallo Hajo,
danke für die schnelle Antwort. Habe Deine Datei mal auf einem kleineren Monitor anzeigen lassen.
Ich hatte an dei Ränder zu Testzwecken mal Objekte gesetzt. Auf dem kleineren Monitor wurden die wieder nicht angezeigt (UserForm wurde nicht an Bildschirmgröße angepaßt).
Hast Du noch einen Vorschlag?
Danke
Anzeige
AW: Userform automatisch an Bildschirmgröße anpassen
18.03.2009 13:13:39
Hajo_Zi
Hallo Krüer,
Nein, da ich es ablehne über das Internet auf fremde Rechner zu schauen.
Gruß Hajo
;
Anzeige
Anzeige

Infobox / Tutorial

Userform automatisch an Bildschirmgröße anpassen


Schritt-für-Schritt-Anleitung

Um eine Excel VBA Userform an die Bildschirmgröße anzupassen, kannst du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge eine Userform hinzu: Klicke mit der rechten Maustaste auf dein Projekt im Projekt-Explorer und wähle Einfügen > Userform.

  3. Füge den folgenden Code ein: Klicke doppelt auf die Userform, um das Code-Fenster zu öffnen, und füge den folgenden Code ein:

    Private Sub UserForm_Initialize()
       ' Bildschirmgröße abrufen
       Dim BildschirmBreite As Double
       Dim BildschirmHöhe As Double
    
       BildschirmBreite = Application.Width
       BildschirmHöhe = Application.Height
    
       ' Userform-Größe anpassen
       Me.Width = BildschirmBreite * 0.8 ' 80% der Bildschirmbreite
       Me.Height = BildschirmHöhe * 0.8 ' 80% der Bildschirmhöhe
    
       ' Position der Userform einstellen
       Me.Left = (BildschirmBreite - Me.Width) / 2 ' Zentriert auf dem Bildschirm
       Me.Top = (BildschirmHöhe - Me.Height) / 2
    End Sub
  4. Speichere und teste die Userform: Schließe den VBA-Editor und teste die Userform, um sicherzustellen, dass sie sich automatisch an die Bildschirmgröße anpasst.


Häufige Fehler und Lösungen

  • Fehler: Userform wird nicht angezeigt oder ist abgeschnitten
    Lösung: Stelle sicher, dass die Userform-Elemente (wie Textfelder, Buttons) auch an die Größe der Userform angepasst sind. Verwende das Anchor-Attribut für die Steuerelemente.

  • Fehler: Userform öffnet sich nicht
    Lösung: Überprüfe, ob die Userform korrekt aufgerufen wird. Stelle sicher, dass die Show-Methode im richtigen Modul verwendet wird.


Alternative Methoden

Eine andere Möglichkeit, die Bildschirmgröße anzupassen, besteht darin, die Userform mit Scrollleisten auszustatten. Du kannst die Scrollleisten aktivieren, indem du in den Eigenschaften der Userform die ScrollBars-Eigenschaft auf 2 - fmScrollBarsVertical oder 3 - fmScrollBarsBoth setzt. So können Benutzer den Inhalt der Userform bei kleineren Bildschirmgrößen scrollen.


Praktische Beispiele

Hier ist ein einfaches Beispiel für die Verwendung des Codes:

Private Sub UserForm_Initialize()
    ' Beispielcode zur Anpassung der Userform-Größe
    Me.Caption = "Beispiel Userform"
    ' ... andere Steuerelemente hinzufügen und anpassen
End Sub

Teste diesen Code auf verschiedenen Bildschirmgrößen, um zu sehen, wie sich die Userform verhält.


Tipps für Profis

  • Verwende die Resize-Ereignis: Du kannst auch das Resize-Ereignis der Userform verwenden, um dynamisch auf Änderungen in der Größe zu reagieren.
  • Berücksichtige verschiedene Auflösungen: Teste deine Userform auf verschiedenen Monitoren und Auflösungen, um sicherzustellen, dass sie überall gut aussieht.
  • Gute Benutzerführung: Achte darauf, dass die Steuerelemente in der Userform auch bei Anpassungen weiterhin gut erreichbar sind.

FAQ: Häufige Fragen

1. Wie kann ich die Userform auch bei unterschiedlichen DPI-Einstellungen anpassen?
Du kannst die DPI-Einstellungen durch die Abfrage des Screen.TwipsPerPixelX und Screen.TwipsPerPixelY anpassen, um eine präzisere Anpassung vorzunehmen.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der Code sollte in den meisten modernen Excel-Versionen funktionieren, solange die VBA-Umgebung vorhanden ist. Achte darauf, dass du die richtige Version von Excel verwendest, um alle Funktionen optimal nutzen zu können.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige