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

userform an bildschirmgröße anpassen

Forumthread: userform an bildschirmgröße anpassen

userform an bildschirmgröße anpassen
12.09.2007 13:55:00
ganz
hallo,
wie kann ich die bildschirmgröße automatisch anpassen.
für antworten bin ich sehr dankbar.
gruß
ralf

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Wie denm, wo denn, was denn...
12.09.2007 14:01:38
Renee
Hi Ralf,
Meines Wissens gibt es keine Software, die automatische Anpassungen an der physikalischen Grösse eines Gegenstandes, wie z.B. eines Bildschirms, machen könnte.
Allerdings hab ich schon von Bildschirm-Auflösung im visuellen, nicht im chemisch/physikalischen, Sinn gehört und gelesen.
Die Hänsel- oder Gretchenfrage zu Deiner Frage wäre allerdings, was soll sich den nun anpassen ?
Die Grösse der Userform an die Bildschirmauflösung, oder die Bildschirmauflösung an die Grösse der Userform?
GreetZ Renee

Anzeige
AW: Wie denm, wo denn, was denn...
12.09.2007 14:03:44
ganz
Hallo renee,
die Userform an die Bildschirmauflösung.
Ich habe die Datei bei mir zuhause gemacht und auf meiner arbeit ist der bildschirm anders und die userform wird nur halb angezeigt.
gruß
ralf

AW: Wie denm, wo denn, was denn...
12.09.2007 14:07:00
Renee
Hi Ralf,
auf meiner arbeit ist der bildschirm anders ... omg... wie kommt das denn.
Bei mir lastet höchstens eine grosse Verantwortung auf meinen Schultern, bei oder wegen meiner Arbeit.
Im Ernst, wenn Du nur die Hälfte siehst, musst Du Deine UF umschreiben, den die Steuerelemente darauf lassen sich nicht einfach so verkleinern/vergrössern!
Greetz Renee

Anzeige
AW: userform an bildschirmgröße anpassen
12.09.2007 14:03:00
Oberschlumpf
Hi Ralf
google mal mit diesem Suchtext:
userform an bildschirmgröße anpassen site:herber.de
Wer finden lässt, muss selbst nicht suchen, oder?
Ciao
Thorsten

AW: userform an bildschirmgröße anpassen
12.09.2007 18:43:00
Gerd
Hallo zusammen! ;-)

Private Sub UserForm_Initialize()
'Userform wird auf die Größe von Excel gezoomt, wobei die
'die Controls entsprechend gezoomt und zentriert werden.
'Uwe Küstner 20070622
Dim Faktor As Single
Dim X As Single, Y As Single
Dim sngL As Single, sngO As Single, sngR As Single, sngU As Single
Dim oC As MSForms.Control
Faktor = Application.Height / (Me.Height - 20)
If Faktor  4 Then Faktor = 4
Me.Width = Application.Width
Me.Height = Application.Height
sngL = Me.Width
sngO = Me.Height
For Each oC In Me.Controls
sngL = Application.WorksheetFunction.Min(sngL, oC.Left)
sngO = Application.WorksheetFunction.Min(sngO, oC.Top)
sngR = Application.WorksheetFunction.Max(sngR, oC.Left + oC.Width)
sngU = Application.WorksheetFunction.Max(sngU, oC.Top + oC.Height)
Next oC
X = (Me.Width - (sngR * Faktor) - (sngL * Faktor)) / 2 / Faktor
Y = (Me.Height - (sngO * Faktor) - (sngU * Faktor) - 20) / 2 / Faktor
Me.Controls.Move X, Y
Me.Zoom = Faktor * 100
End Sub


Gruß Gerd

Anzeige
AW: userform an bildschirmgröße anpassen
12.09.2007 18:50:17
ganz
Hallo Gerd,
vielen dank.
Kannst du mir bitte noch sagen wo ich den Code einfüge?
muß ich im userform doppelklicken und dann dort einfügen, oder in einem modul einfügen?
gruß und besten dank
ralf

AW: userform an bildschirmgröße anpassen
12.09.2007 20:52:20
Gerd
Hallo Ralf,
du kannst im VBA-Editor auf die Userform doppelklicken u. den Code so ins Modul der Userform
reinkopieren.
Gruß Gerd
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Userform an Bildschirmgröße anpassen in Excel VBA


Schritt-für-Schritt-Anleitung

Um die Größe einer Userform in Excel VBA automatisch an die Bildschirmauflösung anzupassen, folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Erstelle eine neue Userform oder wähle eine bestehende Userform aus.
  3. Doppelklicke auf die Userform, um das Codefenster zu öffnen.
  4. Füge den folgenden Code in das Codefenster der Userform ein:
Private Sub UserForm_Initialize()
'Userform wird auf die Größe von Excel gezoomt, wobei die
'die Controls entsprechend gezoomt und zentriert werden.
Dim Faktor As Single
Dim X As Single, Y As Single
Dim sngL As Single, sngO As Single, sngR As Single, sngU As Single
Dim oC As MSForms.Control

Faktor = Application.Height / (Me.Height - 20)
If Faktor > 4 Then Faktor = 4
Me.Width = Application.Width
Me.Height = Application.Height
sngL = Me.Width
sngO = Me.Height

For Each oC In Me.Controls
    sngL = Application.WorksheetFunction.Min(sngL, oC.Left)
    sngO = Application.WorksheetFunction.Min(sngO, oC.Top)
    sngR = Application.WorksheetFunction.Max(sngR, oC.Left + oC.Width)
    sngU = Application.WorksheetFunction.Max(sngU, oC.Top + oC.Height)
Next oC

X = (Me.Width - (sngR * Faktor) - (sngL * Faktor)) / 2 / Faktor
Y = (Me.Height - (sngO * Faktor) - (sngU * Faktor) - 20) / 2 / Faktor
Me.Controls.Move X, Y
Me.Zoom = Faktor * 100
End Sub
  1. Schließe den VBA-Editor und teste die Userform, um sicherzustellen, dass sie sich an die Bildschirmgröße anpasst.

Häufige Fehler und Lösungen

  • Fehler: Userform wird nicht vollständig angezeigt.

    • Lösung: Überprüfe den Code und stelle sicher, dass alle Steuerelemente korrekt positioniert sind. Achte auch darauf, dass die Bildschirmauflösung an deinem Arbeitsplatz anders ist als bei dir Zuhause.
  • Fehler: Userform bleibt in der ursprünglichen Größe.

    • Lösung: Stelle sicher, dass der Code im UserForm_Initialize()-Ereignis platziert ist. Andernfalls wird der Code nicht ausgeführt, wenn die Userform geöffnet wird.

Alternative Methoden

Wenn du die Größe der Userform nicht über VBA anpassen möchtest, kannst du auch die Bildschirmauflösung ändern. Dazu gibt es einige Tastenkombinationen:

  • Windows + I öffnet die Einstellungen, wo du die Bildschirmauflösung anpassen kannst.
  • Du kannst auch mit der rechten Maustaste auf den Desktop klicken und "Anzeigeeinstellungen" auswählen, um die Bildschirmgröße zu ändern.

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du den Code anpassen kannst, um die Userform für verschiedene Bildschirmgrößen zu optimieren:

Private Sub UserForm_Initialize()
   ' Setze die Userform-Größe basierend auf verschiedenen Bildschirmauflösungen
   If Application.Width < 1024 Then
       Me.Width = 800
       Me.Height = 600
   Else
       Me.Width = Application.Width
       Me.Height = Application.Height
   End If
End Sub

Mit dieser Anpassung wird die Userform kleiner, wenn die Bildschirmauflösung unter 1024 Pixel liegt.


Tipps für Profis

  • Nutze die Application.ScreenWidth und Application.ScreenHeight Eigenschaften, um dynamisch die Größe der Userform zu ermitteln.
  • Teste deine Userform auf verschiedenen Bildschirmgrößen, um sicherzustellen, dass die Benutzeroberfläche immer optimal aussieht.
  • Berücksichtige bei der Gestaltung der Userform, dass nicht alle Benutzer dieselbe Bildschirmauflösung verwenden.

FAQ: Häufige Fragen

1. Wie kann ich die Userform-Größe automatisch anpassen?
Du kannst den oben angegebenen VBA-Code verwenden, um die Größe der Userform automatisch an die Bildschirmauflösung anzupassen.

2. Wo füge ich den VBA-Code ein?
Der Code sollte im Codefenster der Userform im VBA-Editor eingefügt werden. Doppelklicke einfach auf die Userform, um das Codefenster zu öffnen.

3. Welche Bildschirmauflösungen unterstützen die Anpassung?
Die Anpassung funktioniert mit jeder Bildschirmauflösung, solange der Code korrekt implementiert ist. Teste die Userform auf unterschiedlichen Auflösungen, um die Benutzererfahrung zu optimieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige