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

Forumthread: Userform im Vollbild auf einem von 2 Bildschirmen

Userform im Vollbild auf einem von 2 Bildschirmen
08.11.2016 08:50:26
2
Hallo,
mit folgendem Code passe ich eine Userform an die Größe eines Bildschirms an:
Private Declare PtrSafe Function GetSystemMetrics Lib "USER32" (ByVal nIndex As Long) As Long
Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1
Public Breite
Public Sub Formular_Vollbild()
Breite = GetSystemMetrics(SM_CXSCREEN)
Höhe = GetSystemMetrics(SM_CYSCREEN)
End Sub
Private Sub UserForm_Initialize()
Me.Left = 0
Me.Top = 0
Me.Height = Höhe
Me.Width = Breite
End Sub
Das funktioniert auch. Nun habe ich die Datei einem externen Anwender zur Verfügung gestellt, der 2 Bildschirme nutzt und die UF ragt über den ersten in den zweiten Bildschirm hinein. Wie erreiche ich es, dass die UF als Vollbild auf dem ersten Bildschirm angezeigt wird?
Gruß und Danke
Martin
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform im Vollbild auf einem von 2 Bildschirmen
08.11.2016 09:24:07
2
Hallo Martin,
schau mal hier:
http://www.office-loesung.de/ftopic589693_0_0_asc.php
Vielleicht kommst du so weiter.
Habe den Code von nole ausprobiert. Bei mir -arbeite auch mit zwei Monitoren- wird die UF genau in einem Monitor angezeigt.
Gruß
Michael
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Userform im Vollbild auf einem von 2 Bildschirmen


Schritt-für-Schritt-Anleitung

Um eine Excel Userform im Vollbild auf einem von zwei Bildschirmen anzuzeigen, kannst du den folgenden VBA-Code verwenden. Dieser Code passt die Userform an die Größe des gewünschten Bildschirms an.

Private Declare PtrSafe Function GetSystemMetrics Lib "USER32" (ByVal nIndex As Long) As Long
Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1

Public Breite As Long
Public Höhe As Long

Public Sub Formular_Vollbild()
    Breite = GetSystemMetrics(SM_CXSCREEN)
    Höhe = GetSystemMetrics(SM_CYSCREEN)
End Sub

Private Sub UserForm_Initialize()
    Me.Left = 0
    Me.Top = 0
    Me.Height = Höhe
    Me.Width = Breite
End Sub

Um sicherzustellen, dass die Userform nur auf dem ersten Bildschirm angezeigt wird, kannst du die Position der Userform in der UserForm_Initialize-Prozedur anpassen.


Häufige Fehler und Lösungen

  1. Die Userform wird auf beiden Bildschirmen angezeigt.

    • Stelle sicher, dass du die Position der Userform korrekt festgelegt hast. Setze Me.Left und Me.Top auf 0, um die Userform auf dem ersten Bildschirm zu zentrieren.
  2. Die Größe der Userform passt nicht.

    • Überprüfe, ob die Funktionen GetSystemMetrics korrekt aufgerufen werden. Vergewissere dich, dass die Konstanten SM_CXSCREEN und SM_CYSCREEN für die Breite und Höhe des Bildschirms richtig definiert sind.

Alternative Methoden

Eine Alternative zur oben genannten Methode ist die Verwendung von Windows-API-Funktionen, um die Bildschirmkoordinaten direkt abzurufen. Du kannst auch die Screen-Objekte von VBA verwenden, um Informationen über die Monitore zu erhalten.

Ein Beispiel zur Verwendung von Screen-Objekten:

Dim Bildschirm As Long
Bildschirm = Application.Screen.Width ' Breite des Bildschirms
' Setze die Userform entsprechend der Bildschirmgröße

Praktische Beispiele

Hier ist ein Beispiel für die Anwendung des Codes, um eine Excel-Tabelle auf zwei Bildschirmen anzuzeigen. Du kannst die Userform verwenden, um Daten von einer Tabelle darzustellen und sie auf einem bestimmten Bildschirm anzeigen.

  1. Erstelle eine Userform mit verschiedenen Steuerelementen.
  2. Verwende den oben genannten Code, um die Userform im Vollbildmodus anzuzeigen.
  3. Stelle sicher, dass die Userform nur auf dem ersten Bildschirm angezeigt wird, indem du die Position anpasst.

Tipps für Profis

  • Nutze die GetSystemMetrics-Funktion, um die Größe und Position der Userform dynamisch anzupassen, wenn sich die Monitorauflösung ändert.
  • Experimentiere mit der UserForm-Eigenschaft BorderStyle, um das Aussehen der Userform zu optimieren.
  • Überlege, wie du die Userform auf dem zweiten Bildschirm anzeigen kannst, falls erforderlich, indem du die Position entsprechend anpasst.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine Userform nur auf dem ersten Bildschirm angezeigt wird?
Um dies zu erreichen, musst du die Me.Left und Me.Top Eigenschaften der Userform so einstellen, dass sie auf den ersten Bildschirm zentriert ist.

2. Kann ich eine Excel-Tabelle auf zwei Bildschirmen anzeigen?
Ja, du kannst eine Excel-Tabelle auf zwei Bildschirmen anzeigen, indem du die Fenstergröße und -position so anpasst, dass sie über beide Bildschirme geht. Verwende dazu die Eigenschaften Application.WindowState und Application.Left.

3. Welche Excel-Version benötige ich für diesen Code?
Der Code kann in Excel 2010 und höheren Versionen verwendet werden, da er die PtrSafe-Deklaration für die Kompatibilität mit 64-Bit-Versionen verwendet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige