Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
632to636
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
632to636
632to636
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Optimale User Form Dartstellung am Bildschirm

Optimale User Form Dartstellung am Bildschirm
06.07.2005 14:58:14
klink
Hallo!
Kann mir bitte jemand helfen.
Ich habe mit VBA einen Fragebogen erstellt, den man aus einer Excelmappe öffnet. D.h. eine etwas größere User Form mit etlichen Checkboxen. Bei mir auf dem Bildschirm wird die User Form optimal dargestellt. Ich habe gerade das Excelsheet auf einem anderen Rechner geöffnet, da wurde nur die Hälfte des Formulars (User Form) sichtbar, ohne dass ich scrollen konnte. Gibt es eine Einstellung, so dass die User Form sich automatisch der Bildschirmauflösung anpasst oder vollständig angezeigt wird?
Vielen Dank schon im Voraus!
Helena

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Optimale User Form Dartstellung am Bildschirm
06.07.2005 15:07:21
u_
Hallo,
in ein Modul:
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Public Enum ScreenArgs
HORIZONTAL
VERTIKAL
End Enum
Public Function ScreenResolution(HV As ScreenArgs) As Long
If HV = 0 Or HV = 1 Then ScreenResolution = GetSystemMetrics(HV)
End Function
In den Code der UF:

Private Sub UserForm_Initialize()
Me.Width = ScreenResolution(1)
Me.Height = (ScreenResolution(1) / 4) * 3
End Sub

Gruß
Geist ist geil!
?
06.07.2005 22:34:17
MichaV
Hallo u_
warum nicht
Me.Width = ScreenResolution(0)
Me.Height = ScreenResolution(1) ?
Gruß- Micha
Anzeige
AW: ?
07.07.2005 09:42:16
u_
Hallo,
das wüsste ich auch gerne.
Mein Bildschirm: 1024x768. Kurioserweise muss die Breite der UF auf 768 und die Höhe auf 576 Pixel sein, damit sie komplett dargestellt wird. Hast du eine Erklärung?
Gruß
Geist ist geil!
AW: ?
07.07.2005 10:34:18
MichaV
Hi u_
offensichtlich hat Excel einen anderen Maßstab als Windows. Die Api kannst Du weglassen, application.width machts auch, dann auch ohne Umrechnung.
Mir ist Deine Lösung deswegen ins Auge gesprungen: Ich hatte bis vor kurzem noch eine Auflösung von 1024 x 1536 Pixeln (2 Monitore übereinander), da funzt es nicht mehr, die Höhe als festes Verhältnis zur Breite auszurechnen. Eigentlich wollt ich Dich darauf hinweisen ;o)
Gruss- Micha
Anzeige
AW: Optimale User Form Dartstellung am Bildschirm
07.07.2005 09:58:43
helena
Hallo vielen Dank für den Vorschlag!
Es ist aber nicht ganz das was ich brauche. Der Vorgeschlagene Code, passt meine User Form so an, dass diese über den ganzen Bildschirm sichtbar ist. Das Excelblatt ist nicht mehr sichtbar.
Meine User Form soll aber nicht das ganze Sheet verdecken. Die User Form soll, falls diese nicht vollständig am Bildschirm dargestellt wird, verkleinert dargestellt werden, so dass diese immer vollständig am Bildschirm zu sehen ist.
Eine Idee?
Viele Grüße Helena
AW: Optimale User Form Dartstellung am Bildschirm
07.07.2005 10:29:58
MichaV
Hi Helena,
das geht so:

Private Sub UserForm_Initialize()
Me.StartUpPosition = 0
Me.Left = 1
Me.Width = Application.Width
Me.Top = Application.Top + 100 '+100 ist oberer Abstand zum Excel- Fensterrand
Me.Height = Application.Height - 150 '-150+100=50 ist unterer Abstand zum Excel- Fenster
End Sub

Die Abstände zum Excel- Außenrand kannst Du ausprobieren, das hängt von der Dicke Deiner Symbolleisten ab.
Wenn das Excel- Fenster verändert wird, dann kannst Du das ja über das Workbook_WindowResize- Ereignis abfangen und den UF neu anpassen.
Gruss- Micha
Anzeige
AW: Optimale User Form Dartstellung am Bildschirm
07.07.2005 11:00:33
helena
Ich habe hier immer noch das gleiche Problem, ich kann zwar die User Form genau positionieren, es wird aber die Hälfte des Inhaltes einfach abgeschnitten, weil die User Form zu groß ist. Ich hatte an soetwas wie Zoom gedacht, dass die UserForm als Ganzes einfach etwas kleiner macht. Die UserForm soll immer vollständig am Bildschirm angezeigt werden.
Gibt es soetwas?
AW: Optimale User Form Dartstellung am Bildschirm
07.07.2005 11:47:11
Helena
Ich glaube ich habe mich nicht richtig ausgedrückt.
Die etwas größere User Form soll unabhängig von der Bildschirmauflösung immer vollständig angezeigt werden. Momentan wird bei kleinen Auflösungen die hälfte der User Form einfach abgeschnitten...
Anzeige
AW: Optimale User Form Dartstellung am Bildschirm
07.07.2005 11:59:38
MichaV
Hallo,
habe ich überlesen, sorry.
So besser?

Private Sub UserForm_Initialize()
'Zoomen
If (Application.Width \ Me.Width) < (Application.Height \ Me.Height) Then
Me.Zoom = (Application.Width \ Me.Width) * 100
Else
Me.Zoom = (Application.Height \ Me.Height) * 100
End If
Me.StartUpPosition = 0
Me.Left = Application.Left
Me.Width = Application.Width
Me.Top = Application.Top + 100 '+100 ist oberer Abstand zum Excel- Fensterrand
Me.Height = Application.Height - 150 '-150+100=50 ist unterer Abstand zum Excel- Fenster
End Sub

Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: Optimale User Form Dartstellung am Bildschirm
07.07.2005 13:10:52
Helena
So richtig funktioniert es auch nicht, bei einer Auflösung von 600 x 800 hat er Schwierigkeiten zu zoomen ( Fehlermeldung).
Ich habe das Problem jetzt anders gelöst, habe einfach durch Einsatz von Karteikarten die Größe der UserForm verkleinern können, so dass diese jetzt bei jeder Auflösung vollständig angezeigt wird.
Vielen Dank für deine Mühe!!!
Liebe Grüße
Helena

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige