Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bildschirmauflösung x Faktor? = Userformgröße

Bildschirmauflösung x Faktor? = Userformgröße
KLE
Hallo,
...ich arbeite an einem Tool in Excel, welches einige Userformen enthält. Nun ist es so, dass ich die Userform auf meinem Laptop erstellt habe (Bildschirm 1366x780). Der Bildschirm wird ausgefüllt und alles passt.
Jetzt wird das Tool aber auch bei einem Kollegen eingesetzt. Dieser hat eine Auflösung von 1280x800!
Bei ihm fehlt auf der rechten Seite einiges von der Userform. Jetzt dachte ich, ich gehe einfach auf die Userform-Eigenschaften im VBA-Editor und ändere die Hight und Width-Werte der Userform auf seine Bildpunkte. Doch hier stehen ja nicht einmal meine Bildschirm-Auflösungswerte. OK, ich hatte einfach die Userform gezogen auf meine Bildschirmgröße...
Welchen Faktor gibt es hier und wofür stehen die Werte im VBA-Eigenschaften...!?
Gruß und Danke
Kay
Anzeige

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

Betreff
Benutzer
Anzeige
Faktor / Auflösung...nix da
30.11.2010 11:14:52
Renee
Hi Kay,
Da gibts keine Faktoren und welche Eigenschaften meinst du ?
Wenn du eine Userform dynamisch den Bildschirmgrössen anpassen willst, musst du per API die Auflösungswerte auslesen und die Grösse und Erscheinungsbild der UF und derer Steuerelemente per VBA anpassen. Kann aber ziemlich komplex werden ;-)
GreetZ Renée
Anzeige
Kein fester Umrechnungsfaktor !
30.11.2010 11:18:21
NoNet
Hallo Kay,
diese Problematik ist leider nicht ganz so trivial wie sie scheint !
Einen "konstanten Umrechungsfaktor" gibt es nicht, denn dieser hängt u.a. von der Auflösung, der dpi-Anzahl des Bildschirms ab (Suche mal nach "Excel VBA Pitch Resolution").
Auf einem 19" Monitor mit der Auflösung 1280x1024 habe ich hier z.B. 2 unterschiedliche Punktgrößen :
- 96 dpi (Standard) => 966 Punkte Bildschirmbreite (Width=966)
- 120 dpi (große Schrift) => 772,8 Punkte Bildschirmbreite (Width=772,8)
Trotz gleicher Auflösung ist es also eine unterschiedliche PITCH-Anzahl !
Du könntest natürlich einfach die UserForm-Breite an die Breite des Excel-Fensters im Vollbild anpassen - eine "Quick-and-Dirty"-Lösung dazu wäre folgendes :
Application.WindowState=xlMaximized 'Anwendungsfenster auf Vollbild schalten
UserForm1.Width=Application.Width 'UserForm so breit wie die Excel-Anwendung selbst !

Gruß, NoNet
Anzeige
AW: Kein fester Umrechnungsfaktor !
30.11.2010 11:55:30
KLE
Vielen dank für Eure Antworten.
Nun, hatte nicht gedacht, dass es so kompliziert werden würde. Dachte echt es wären einfach nur die Pixelzahlen und fertig ;o)
Werde es jetzt etwas kleiner machen und dann mit der Lösung von NoNet probieren - mal schauen wie es aussieht...
Gruß und Danke
Kay
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Userform-Größe an Bildschirmauflösung anpassen


Schritt-für-Schritt-Anleitung

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

  2. Wähle die Userform aus: Klicke im Projekt-Explorer auf die Userform, die Du anpassen möchtest.

  3. Einstellungen prüfen: Gehe zu den Eigenschaften der Userform. Hier findest Du die Werte für Height und Width.

  4. Bildschirmauflösung ermitteln: Um die Bildschirmauflösung zu erfahren, kannst Du folgende Schritte durchführen:

    • Klicke mit der rechten Maustaste auf den Desktop und wähle „Anzeigeeinstellungen“.
    • Überprüfe die Auflösung, z.B. 1280x800 oder 1280x1024.
  5. Userform-Größe anpassen: Nutze den folgenden VBA-Code, um die Userform-Größe dynamisch an die Bildschirmbreite anzupassen:

    Application.WindowState = xlMaximized ' Anwendungsfenster auf Vollbild schalten
    UserForm1.Width = Application.Width ' UserForm so breit wie die Excel-Anwendung selbst
  6. Testen: Starte die Userform und prüfe, ob sie auf verschiedenen Bildschirmauflösungen (z.B. 1280x800) korrekt angezeigt wird.


Häufige Fehler und Lösungen

  • Fehler: Userform wird nicht richtig angezeigt
    Lösung: Überprüfe die Width und Height-Eigenschaften der Userform im VBA-Editor. Stelle sicher, dass diese Werte für die verwendete Bildschirmauflösung geeignet sind.

  • Fehler: Monitor nicht komplett ausgefüllt
    Lösung: Stelle sicher, dass Du die Userform im Vollbildmodus öffnest, wie im Schritt 5 beschrieben.


Alternative Methoden

Eine alternative Methode zur Anpassung der Userform an die Bildschirmauflösung ist die Verwendung von API-Aufrufen, um die aktuelle dpi des Bildschirms zu ermitteln. Diese Methode ist etwas komplexer, kann jedoch präzisere Ergebnisse liefern, insbesondere bei unterschiedlichen Bildschirmgrößen und Auflösungen.


Praktische Beispiele

  1. Beispiel für 1280x800 Auflösung:

    • Wenn Du weißt, dass viele Deiner Benutzer eine Bildschirmauflösung von 1280x800 verwenden, passe die Userform folgendermaßen an:
      If Screen.Width < 1280 Then
      UserForm1.Width = 800 ' Setze die Breite auf 800 Punkte
      End If
  2. Beispiel für unterschiedliche dpi:

    • Berücksichtige, dass bei einer Standard-Bildschirmauflösung von 1280x1024 die dpi-Einstellungen variieren können. Verwende daher immer den Application.Width Befehl.

Tipps für Profis

  • Nutze die Application.Height und Application.Width Eigenschaften, um die Userform auch in der Höhe dynamisch anzupassen.
  • Teste die Userform auf verschiedenen Monitoren und Bildschirmauflösungen, um sicherzustellen, dass sie überall gut aussieht.
  • Halte die dpi-Einstellungen der Benutzer im Hinterkopf, da diese die Darstellung beeinflussen können. Du kannst die Benutzer fragen, welche Bildschirmauflösung sie verwenden, um das Layout besser zu planen.

FAQ: Häufige Fragen

1. Welche Bildschirmauflösung habe ich?
Du kannst dies herausfinden, indem Du mit der rechten Maustaste auf den Desktop klickst und „Anzeigeeinstellungen“ auswählst.

2. Wofür steht dpi?
DPI steht für "Dots Per Inch" und beschreibt die Anzahl der Pixel pro Zoll auf Deinem Bildschirm. Dies beeinflusst die Darstellung von Inhalten in Excel und kann bei der Anpassung von Userforms wichtig sein.

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