Userform auf zwei Bildschirmen richtig positionieren
Schritt-für-Schritt-Anleitung
Um eine Userform in Excel VBA auf zwei Bildschirmen korrekt zu positionieren, befolge diese Schritte:
-
Öffne den VBA-Editor: Drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Füge ein UserForm hinzu: Klicke im Projekt-Explorer mit der rechten Maustaste auf das Projekt, wähle „Einfügen“ und dann „UserForm“.
-
Öffne das Klassenmodul des UserForms: Doppelklicke auf das UserForm, um den Code-Editor zu öffnen.
-
Füge folgenden Code hinzu, um die Position des UserForms anzupassen:
Private Sub UserForm_Activate()
Dim objApp As Object
Set objApp = ThisWorkbook.Windows.Application
' Berechne die Position in der Bildschirmmitte
Me.Left = (objApp.Left + objApp.Width) / 2 - Me.Width / 2
Me.Top = (objApp.Top + objApp.Height) / 2 - Me.Height / 2
End Sub
-
Testen: Starte das UserForm, um zu sehen, ob es korrekt auf dem Bildschirm angezeigt wird, auf dem Excel geöffnet ist.
Häufige Fehler und Lösungen
-
Userform wird auf dem falschen Bildschirm angezeigt: Stelle sicher, dass Du die richtigen Eigenschaften für die Bildschirmmitte verwendest. Manchmal kann es nötig sein, die Position manuell zu setzen, wenn Excel auf zwei Bildschirmen läuft.
-
Position stimmt nicht: Wenn die Position nicht korrekt ist, kann das an unterschiedlichen Punkt-Einheiten liegen. Stelle sicher, dass Du die Maßeinheit in Deinem Code überprüfst.
Alternative Methoden
Eine alternative Methode, um die Userform zu positionieren, wäre:
-
Manuelles Setzen der Position: Wenn Du die Userform immer auf dem Hauptbildschirm haben möchtest, kannst Du die Position manuell setzen, anstatt die StartUpPosition
zu verwenden.
Me.Left = 0 ' oder eine andere feste Position
Me.Top = 0
-
Verwendung von Application.ScreenWidth
und Application.ScreenHeight
: Diese Eigenschaften helfen, die Größe des Bildschirms zu ermitteln, um die Userform entsprechend anzupassen.
Praktische Beispiele
Hier ist ein praktisches Beispiel, wenn Du die Userform immer in der Bildschirmmitte anzeigen möchtest, während Du Excel auf zwei Bildschirmen benutzt:
Private Sub UserForm_Activate()
With Application
Me.Left = (.Width / 2) - (Me.Width / 2)
Me.Top = (.Height / 2) - (Me.Height / 2)
End With
End Sub
Wenn Du diese Methode verwendest, wird die Userform immer zentriert, egal auf welchem Bildschirm Excel geöffnet ist.
Tipps für Profis
- Verwende
UserForm.Show vbModeless
: Das ermöglicht, dass Excel weiterhin genutzt werden kann, während das UserForm offen ist.
- Verwalte mehrere UserForms: Wenn Du mehrere UserForms hast, kannst Du eine zentrale Funktion erstellen, die die Position aller Forms verwaltet.
- Testen auf verschiedenen Bildschirmauflösungen: Achte darauf, dass die Userform auf verschiedenen Monitoren und Auflösungen gut aussieht.
FAQ: Häufige Fragen
1. Wie kann ich die Userform immer auf dem Hauptbildschirm anzeigen?
Du kannst die Position der Userform manuell setzen, indem Du die Left
und Top
Eigenschaften direkt anpasst.
2. Warum wird meine Userform nicht korrekt zentriert?
Das kann an unterschiedlichen Punkt-Einheiten zwischen Excel und dem UserForm liegen. Überprüfe die Berechnungen in Deinem Code und passe sie gegebenenfalls an.