Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: hziemer am November 22, 2015, 12:39:46 Nachmittag
-
Hallo liebe Forenmitglieder.
Gerade ein Problem gelöst, schon ist was neues da.
Wenn 2 Bildschirme angeschlossen sind und Excel die Maske aufruft, wird die irgendwo positioniert.
Mal in der Mitte aus beiden Bildschirmen, mal links zentriert oder rechts am linken Bildschirmrand.
Als Eigenschaften der Userform ist "StartUpPosition" ist 2 - Bildschirmmitte eingestellt.
Es funktioniert nur zufriedenstellend, wenn der primäre Monitor eingeschaltet ist. Hier kommt die Maske immer zentriert.
Gibt es dafür einen Trick immer im aktiven Fenster (wo Excel läuft) de Maske auszugeben??
Danke für jeden hilfreichen Rat
Schöne Grüße aus dem verschneiten Schwabenland
hziemer
-
Oh ja, bei uns in Hamburg (Geesthacht kennt ja niemand) schneit es seit 10 Minuten.
Excel-ist-sexy (http://www.excel-ist-sexy.de/userform-zentriert/) sollte die Lösung bringen ... :)
-
Hallo Günther
Danke für die schnelle Antwort und den Link.
Für mich zum Verständnis:
Ich machen einen Rechtsklick auf die UserForm und sage Code anzeigen.
dann habe ich folgendes in der Sub eingetragen:
Private Sub UserForm_Activate() 'IST VON MIR
Dim aWW As Integer, aWH As Integer
Dim UfW As Integer, UfH As Integer
With ActiveWindow
aWW = .Width
aWH = .Height
End With
With Me
UfW = .Width
UfH = .Height
.StartUpPosition = 0
.Top = aWH / 2 - UfH / 2
.Left = aWW / 2 - UfW / 2
End With
If ComboBox1.ListCount > 0 Then ComboBox1.ListIndex = 0 'IST VON MIR
End Sub 'IST VON MIR
Aber die Maske springt immer noch über beide Bildschirme nach jeden Neustart.
Nun meine Frage: Ist der Weg so richtig? Oder muß der Code woanders hin??
Danke für eine Antwort.
hziemer
-
Moin,
hmmm, ich habe es eben mit einem 2-Schirm-System überprüft. Läuft (zumindest einigermaßen). Kleine Änderungen sind erforderlich, falls das Excel-Fenster nicht im Vollbild-Modus ist. Ich habe einfach einmal meine Musterdatei angehängt.
[EDIT]
So, ich habe den Code etwas geändert (in der angehängten Datei und im Blog). Auch der "Auslöser" ist nun ein anderer, vielleicht lag es daran.
-
Hallo Günther
Danke.
Das funktioniert jetzt auch bei mir.
Super