Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1656to1660
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bildschirmauflösung

Bildschirmauflösung
11.11.2018 12:31:44
sigrid
Guten Tag Experten,
ich habe eine Datei mit mehreren Button und Textfelder.
Bei meinem Laptop ist die Auflösung 1920x1200, bei meinem Desktop
ist die Auflösung 1920x1080.
Jedesmal muss ich alles neu ausrichten da die größe der Button und Texfelder
oder auch Optionsbutton sich verschoben haben.
Wie kann ich dies verhindern ?
mfg Sigrid

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

Betreff
Datum
Anwender
Anzeige
probier mal: ActiveWindow.Zoom = True - owT
11.11.2018 12:46:09
Matthias
Und wo einsetzen ?
11.11.2018 15:32:49
sigrid
Hallo Matthias,
und wo muss ich das einsetzen ?
mfg sigrid
AW: Und wo einsetzen ?
11.11.2018 15:35:12
sigrid
z.B. bei OptionButton:
ActiveWindow.Zoom = True
Beispiel...
11.11.2018 15:44:23
sigrid
Hallo Matthias,
z.B. bei OptionButton wird größer dargestellt und eins kleiner.
Meine Darstellung der Mappe ist auf 100% eingestellt.
gruß sigrid
ich würde es ins Workbook_Open packen ...
11.11.2018 16:25:50
Matthias
Hallo
Markiere mal Deinen komplette Datenbereich, den Du auf beiden Sytemen
jeweils angepasst sehen willst.
Diesem Bereich vergibst Du einen definierte Namen
Z.B.: MeinBereich
In DieseArbeitsmappe dann diesen Code:
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Application.GoTo Reference:="MeinBereich"
ActiveWindow.Zoom = True
End Sub

Speichern nicht vergessen.
Dann sollte sich je nach System alles auf Bildschirmgröße des Anzeigegerätes anpassen, wenn Du die Datei neu öffnest.
Gruß Matthias
Anzeige
AW: ich würde es ins Workbook_Open packen ...
11.11.2018 16:48:34
sigrid
Hallo Matthias,
habe ich gemacht aber meine Mappe erscheint jetzt in 400% Darstellung !
mfg sigrid
AW: Bildschirmauflösung
17.11.2018 12:57:57
Bernd
Hi Sigrid,
so habe ich das Problem gelöst Auflösung von PC zu Laptop.
Option Explicit
Public lngIdR1 As Long
Private Declare Function EnumDisplayMonitors Lib "user32.dll" ( _
ByVal hdc As Long, _
ByRef lprcClip As Any, _
ByVal lpfnEnum As Long, _
ByVal dwData As Long) As Long
Private Declare Function GetMonitorInfo Lib "user32.dll" Alias "GetMonitorInfoA" ( _
ByVal hMonitor As Long, _
ByRef lpmi As MONITORINFO) As Long
Private Declare Function MonitorFromWindow Lib "user32.dll" ( _
ByVal hwnd As Long, _
ByVal dwFlags As Long) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Type RECT
lngLeft As Long
lngTop As Long
lngRight As Long
lngBottom As Long
End Type
Private Type MONITORINFO
cbSize As Long
rcMonitor As RECT
rcWork As RECT
dwFlags As Long
End Type
Private Const MONITOR_DEFAULTTONEAREST = &H2
Private Const GC_CLASSNAMEMSEXCEL = "XLMAIN"
Private ludtRect As RECT
Public Sub Set_Userform_Size(ByRef probjUserform As Object)
Dim sngZoom As Single
'Die Bildschirmabmessungen auslesen auf dem Excel liegt
Call EnumDisplayMonitors(ByVal 0&, ByVal 0&, AddressOf Read_Monitor, ByVal 0&)
With probjUserform
'Userform auf benutzerdefinierte Bildschirmposition anzeigen
.StartUpPosition = 0
'Zoomfaktor der Steuerelemente initialisieren
sngZoom = 100
'Verkleinern des Userform in 2% Schritten
Do While .Width > Abs(ludtRect.lngLeft - ludtRect.lngRight) * 0.75 Or _
.Height > ludtRect.lngBottom * 0.75
sngZoom = sngZoom * 0.98
.Width = .Width * 0.98
.Height = .Height * 0.98
Loop
'Zoomfaktor fuer Steuerelemente setzen
.Zoom = Fix(sngZoom)
'Userform in die Mitte der freien Arbeitsflaeche schieben
.Move (ludtRect.lngLeft - (ludtRect.lngRight) * -1) * 0.75 / 2 - .Width / 2 _
, ludtRect.lngBottom * 0.75 / 2 - .Height / 2
End With
End Sub
Private Function Read_Monitor( _
ByVal pvlngMonitor As Long, _
ByVal pvlngHdcMonitor As Long, _
ByRef prudtlprcMonitor As RECT, _
ByVal pvlngdwData As Long) As Long
Dim udtMonitorInfo As MONITORINFO
Dim lngHwnd As Long
'Das Windows-Handle von Excel lesen
If Val(Application.Version) 
Den Code habe ich vor einigen Jahren mal im Netz gefunden.
In das UserForm_Initialize Ereigniss setzt du nachfolgenden Satz ein...
Call Set_Userform_Size(Me)
Rückmeldung wäre schön.
Userbild
Office Version 2016 Pro 32bit - Windows10 Pro 64 bit
"Wenn du jemanden ohne Lächeln triffst, schenke ihm dein's!"
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige