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

Forumthread: Userform groesse anpassen

Userform groesse anpassen
abu
Hallo Zusammen,
habe mir eine Userform gebastelt und funktioniert auch (zumindest die einfachen dinge).
Mein Problem ist das andere auch auf diese Arbeitsmappe zugreifen, die haben ein Laptop ich ein Desktop.
Bei mir wird die Userform komplett angezeigt bei Laptops ist die zu gross.
Jetzt koennte ich hingehen und die Aufleosung aendern, geht aber nicht (Wir haben leider keine Rechte hier)
Kann ich meine Userform dahingehen anpassen das sie sich dem jeweiligen Bildschirm anpasst?
Wuerde mich ueber Hilfe sehr freuen.
Gruss
Abu
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Userform groesse anpassen
09.12.2009 14:40:43
abu
Hallo Hajo.
danke fuer die schnelle antwort aber leider ist das glaub ich noch nicht das ganz richtige.
Die breite ist nicht das Problem (ausser wenn ich die Userform drucken moechte, da fehlt mir rechts etwas),
bei den Laptops ist die Laenge/Hoehe zu gross und da man die Userform ja nur oben zu packen bekommt kann man sie auch nicht weit genug nach oben schieben um z.b. auf den Save Button zu klicken.
Hast due fuer dieses Problem auch eine Loesung?
habs sie einfach mal angefuegt damit du sehen kannst wovon ich rede....
https://www.herber.de/bbs/user/66459.zip
Gruss
Abu
Anzeige
AW: Userform groesse anpassen
09.12.2009 14:45:49
Hajo_Zi
Halo Abu,
Du hast es im Code schon gesehen das die Größe der UserForm je nach Aulösung angepast wird?
Damit muss Sie nicht verschoben werden. Oder sehe ich da was falsch?
Gruß Hajo
AW: Userform groesse anpassen
09.12.2009 14:57:02
abu
Hajo,
wie du an meinem Code bestimmt schon gesehen hast, kann ich nicht wirklich VBA. Ich kanns mir alles zusammenbasteln und bekomms irgendwie ans laufen.
Habe also dein Modul in meine Arbeitsmappe kopiert (soweit ich das sehe, muss man da nichts anpassen) und auf meinem Desktop und auf einem Laptop ausprobiert und mein problem bleibt das selbe.
Wenn du aber trotzdem der Meinung bist das das die Loesung ist, koennen wir das dann vllt. zusammen anpassen das es auch bei mir funktioniert?
Gruss
Abu
Anzeige
AW: Userform groesse anpassen
09.12.2009 15:12:31
Hajo_Zi
Hallo Abu,
ich habe die Datei nicht runtergeladen, da ich dafür noch keine notwendigkeit für gesehen habe.
Ganz ohne Anpassung geht es nicht. Es sei Du hast die gleiche Auflösung wie ich bei der Erstellung und dieser Code muss auch in die UserForm.
Private Sub UserForm_Initialize()
'   Bildschirmauflösung, unter der die Userform erstellt wurde
'   Breite  1150; 1280; 640
'   Höhe     864; 1024; 480
'   1152 ist die Breite des Bildschirmes bei Erstellung
'   Code Zeile von L.Vira Anpassung der Formel mit Wertermttlung von Hajo.Ziplies@web.de
Me.Zoom = GetSystemMetrics(SM_CXSCREEN) / X_RESOLUTION * 100
End Sub
Private Sub UserForm_Zoom(Percent As Integer)
'   Code von L.Vira
Me.Width = Me.Width * Percent / 100
Me.Height = Me.Height * Percent / 100
End Sub
Gruß Hajo
Anzeige
AW: Userform groesse anpassen
09.12.2009 15:44:14
abu
Danke Danke Danke, ist Perfekt so.
Hast Du auch eine Loesung fuer mein druck Problem (rechts fehlen mir ungefaehr 5 cm)?
Gruss Abu
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Userform an Bildschirmgröße anpassen


Schritt-für-Schritt-Anleitung

Um deine Userform so anzupassen, dass sie sich an unterschiedliche Bildschirmgrößen anpasst, kannst du den folgenden VBA-Code verwenden. Dieser Code wird in das UserForm-Objekt eingefügt.

  1. Öffne deine Excel-Arbeitsmappe und gehe in den VBA-Editor (ALT + F11).
  2. Wähle die Userform aus, die du anpassen möchtest.
  3. Füge den folgenden Code in das Codefenster der Userform ein:
Private Sub UserForm_Initialize()
    ' Bildschirmauflösung anpassen
    Me.Zoom = GetSystemMetrics(SM_CXSCREEN) / X_RESOLUTION * 100
End Sub

Private Sub UserForm_Zoom(Percent As Integer)
    Me.Width = Me.Width * Percent / 100
    Me.Height = Me.Height * Percent / 100
End Sub
  1. Passe X_RESOLUTION an deine Bildschirmauflösung an. Dies könnte beispielsweise 1152, 1280 oder 640 sein, je nachdem, auf welchem Bildschirm die Userform erstellt wurde.
  2. Speichere deine Änderungen und teste die Userform auf verschiedenen Bildschirmen.

Häufige Fehler und Lösungen

  • Problem: Userform wird auf Laptops nicht richtig angezeigt.

    • Lösung: Stelle sicher, dass du den oben genannten Code richtig eingefügt hast und X_RESOLUTION an die Bildschirmauflösung deines Desktops anpasst.
  • Problem: Teile der Userform sind abgeschnitten.

    • Lösung: Verwende den Me.Zoom-Code, um die Größe der Userform dynamisch an die Bildschirmauflösung anzupassen.

Alternative Methoden

Eine andere Möglichkeit, die Userform größenabhängig zu gestalten, ist die Verwendung von Proportionalen Größen. Du kannst die Höhe und Breite der Userform im Verhältnis zur Bildschirmgröße definieren.

Private Sub UserForm_Initialize()
    Me.Width = Application.Width * 0.8 ' 80% der Bildschirmbreite
    Me.Height = Application.Height * 0.8 ' 80% der Bildschirmhöhe
End Sub

Diese Methode ist besonders nützlich, wenn du sicherstellen möchtest, dass die Userform auf allen Bildschirmgrößen eine konsistente Darstellung hat.


Praktische Beispiele

Du kannst den Code für die Anpassung der Userform so verwenden:

  1. Desktop-Optimierung:

    • Bildschirmauflösung: 1152x864
    • Verwende X_RESOLUTION = 1152.
  2. Laptop-Optimierung:

    • Bildschirmauflösung: 1366x768
    • Verwende X_RESOLUTION = 1366.

Mit diesen Anpassungen kannst du sicherstellen, dass Benutzer mit unterschiedlichen Geräten die Userform optimal nutzen können.


Tipps für Profis

  • Teste deine Userform auf verschiedenen Geräten, um sicherzustellen, dass alle Elemente sichtbar und zugänglich sind.
  • Verwende Debugging-Techniken, um festzustellen, ob der Code auf verschiedenen Bildschirmgrößen korrekt funktioniert.
  • Denke daran, den Druckbereich entsprechend anzupassen, wenn du die Userform drucken möchtest, um sicherzustellen, dass keine wichtigen Informationen abgeschnitten werden.

FAQ: Häufige Fragen

1. Wie kann ich die Userform für den Druck anpassen?
Um sicherzustellen, dass beim Drucken keine Teile der Userform abgeschnitten werden, kannst du die Größe der Userform im Druckbereich anpassen, indem du den Code zur Größenanpassung auch für den Druck anwendest.

2. Was mache ich, wenn die Userform nach der Anpassung immer noch nicht gut aussieht?
Überprüfe den Code auf Fehler und stelle sicher, dass die richtigen Werte für X_RESOLUTION verwendet werden. Es kann hilfreich sein, den Code schrittweise zu testen und anzupassen, bis das gewünschte Ergebnis erzielt wird.

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