Brauchen Sie Hilfe?
Web:     Online-Formular
E-Mail:  
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Tel:       +49(0)151 / 164 55 914

Nutzen Sie für Ihre Anfrage unser Online-Formular oder senden Sie uns eine E-Mail an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!. Gerne können Sie aber auch direkt telefonisch Kontakt aufnehmen.

   
     Referenzen
 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   

Userform anhand der Bildschirmauflösung zoomen

 

Userforms werden unabhängig von der Bildschirmauflösung immer mit dem selbern Zoomfaktor angezeigt. Das bedeutet, dass Userforms, welche mit einer Bildschirmauflösung von 1600 x 1200 Punkten entwickelt wurden auf einem Computer mit einer Auflösung von 1024 x 768 überdimensional groß erscheinen.

Um dieses Problem zu umgehen, muss abhängig von der gewählten Auflösung die Userform dynamisch gezoomt werden.

Mit folgendem VBA-Code lässt sich dies realisieren.
Erfassen Sie den Code in einem Code-Modul.

 


'** API-Funktion zum Auslesen der Bildschirmauflösung
Public Const SM_CXSCREEN = 0
Public Const SM_CYSCREEN = 1
Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As LongAs Long


Sub start_zoom()

'** Dimensionierung der Bariablen
Dim Y_Resol_Std '100 % Standard-Auflösung
Dim Y_Resol 'ausgelesene Auflösung
Dim resol 'umgerechnete Auflösung

'** Zoomfaktor manuell vorgeben
resol = 100

'** Standardgröße festlegen (Höhe 1024 = 100%)
Y_Resol_Std = 1024

'** Auslesen der Y-Resolution
Y_Resol = GetSystemMetrics(SM_CYSCREEN)

'** Prozentuale Umrechnung der ausgelesenen Resolution in Bezug
'** auf die Standard Y-Resolution
resol = Y_Resol * 100 / Y_Resol_Std

'** Zoomen der Userform
frmForm.Zoom = resol

'** Größe der Userform anpassen
frmForm.Width = frmForm.Width * resol / 100
frmForm.Height = frmForm.Height * resol / 100

'** Userform anzeigen
frmForm.TextBox1.Value = resol
frmForm.Show

End Sub

 



Damit der Code funktioniert, müssen Sie eine UserForm mit der Bezeichnung "frmForm" anlegen, auf der Sie beliebige Steuerelemente zu Testzwecken plazieren können.

 

   

Relevante Artikel

  • Handbuch zur Formularen / UserForms in VBA

    110002 Dieses hervorragende Script hat mir Dr. Alexandra v. Cube freundlicherweise zur Veröffentlichung zur Verfügung gestellt. Wer dieses Script durchgearbeitet hat, wird keine Probleme mit dem...

  • Abfrage, ob ein Button in einer UserForm gedrückt wurde

      Jedes Steuerelement (auch der Button) hat die Eigenschaft TAG.   Dieser Eigenschaft lässt sich ein beliebiger Wert zuweisen, der zu einem späteren Zeitpunkt wieder abgefragt werden kann.    Das...

  • Userform anhand der Bildschirmauflösung zoomen

      Userforms werden unabhängig von der Bildschirmauflösung immer mit dem selbern Zoomfaktor angezeigt. Das bedeutet, dass Userforms, welche mit einer Bildschirmauflösung von 1600 x 1200 Punkten entwickelt...

  • Einträge aus Listbox auslesen

    In diesem Beispiel zeigen wir Ihnen, wie sich Einträge aus einer ActiveX-Listbox, welche sich auf einem Tabellenblatt befindet, auslesen lassen. Dabei soll es auch möglich sein, dass mehrere...

  • Die Größe des Excel-Fensters ermitteln

    Mit diesem Makro kann die Breite, sowie die Höhe des Excel Fensters ermittelt werden. Unterschieden wird zwischen der verwendbaren Größe von Excel, also der tatsächlichen Tabellengröße und der...

   

Excel-Inside auf Facebook Excel-Live News blog Excel-Inside RSS-Feed Twitter Account für Excel-Inside Mail an Excel-Inside 

Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
Unsere Produkte
Office Schulungen VBA, Excel, Access
E-Book Formeln und Funktionen Excel 2013