Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: UserForm Anzeige ausrichten

UserForm Anzeige ausrichten
Ralf
Hallo Forum,
zu meinem Eintrag von heute Morgen habe ich noch eine Frage.
Ich möchte die angezeigten Fenster des Userform1 bis UserForm4 an den Scrolleisten des Excelfensters unten rechts ausrichten.
Ich habe im Archiv nachgesehen und nichts passendes gefunden.
Kann mir jemand bitte helfen?
Viele Grüße
Ralf
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: UserForm Anzeige ausrichten
08.03.2011 12:29:20
JoWE
Hallo Ralf,
beim Aktivieren der Userform kann me.Left (z.B. '=500') und me.Top (z.B. '=500') gesetzt werden.
Die Werte für Dein Vorhaben hängen von der Bildschirmauflösung und den Ausmaßen der Userform ab.
Hier hilft testen:
Erzeuge einen CommandButton auf der UF, dessen Code so aussieht:
Private Sub CommandButton2_Click()
MsgBox "Top: " & Me.Top & vbCr & "Links: " & Me.Left
End Sub

Starte die Userform, platziere sie an der gewünschten Position, Klicke den CommandButton, nutze die Werte der MsgBox in der Prozedur des Activate-Ereignisses der jew. Userform.
Gruß
Jochen
Anzeige
AW: UserForm Anzeige ausrichten
08.03.2011 12:52:57
Ralf
Hallo Jochen,
ich kann ja in den UserForm Einstellungen z. B. links oben oder zentriert wählen.
Ich möchte dies variabel und von der Bildschirmauflösung unabhängig gestalten, da die datei auf verschiedenen Bildschirmgrößen und verschiedenen Auflösungen geöffnet wird. Es soll immer unten rechts ausgerichtet werden. Wenn es nicht anders geht, auch nicht schlimm, ich dachte es wäre trivialer.
Viele Grüße
Ralf
Anzeige
AW: UserForm Anzeige ausrichten
08.03.2011 13:46:43
Rudi
Hallo,
als Ansatz:
Private Sub UserForm_Activate()
With Application
Top = .Top + .Height - Height - 50
Left = .Left + .Width - Width - 17
End With
End Sub

Gruß
Rudi
AW: UserForm Anzeige ausrichten
08.03.2011 14:26:21
Ralf
Hallo Rudi,
vielen Dank. Wo schreibe ich dieses Makro hin? Ich habe ja 4 verschiedene Userforms mit unterschiedlichen Größen. Kann ich die 4 UserForms einzeln konfigurieren?
Vielen Dank im Voraus für Deine Nachricht.
Gruß
Ralf
Anzeige
nat. in die UF owT
09.03.2011 21:07:15
Rudi
AW: nat. in die UF owT
10.03.2011 08:49:05
Ralf
Hallo Rudi,
alles klar. Es hat funktioniert.
Viele Grüße
Ralf
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

UserForm Anzeige ausrichten in Excel


Schritt-für-Schritt-Anleitung

Um die UserForms in Excel an den Scrolleisten des Excelfensters auszurichten, kannst du die folgenden Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsm)“.
    • Wähle „Einfügen“ und dann „Modul“.
  3. Füge das folgende VBA-Skript hinzu:

    • Kopiere den folgenden Code in das Modul:
    Private Sub UserForm_Activate()
       With Application
           Me.Top = .Top + .Height - Me.Height - 50
           Me.Left = .Left + .Width - Me.Width - 17
       End With
    End Sub
  4. Wende das Skript auf jede UserForm an:

    • Du musst das Skript in die UserForm_Activate-Ereignisse jeder deiner UserForms (UserForm1 bis UserForm4) kopieren.
  5. Teste die UserForms:

    • Starte die UserForms und überprüfe, ob sie korrekt an der unteren rechten Ecke des Excel-Fensters erscheinen.

Häufige Fehler und Lösungen

  • Fehler: Die UserForm wird nicht an der richtigen Position angezeigt.

    • Lösung: Stelle sicher, dass der obige Code in jedes UserForm_Activate-Ereignis eingefügt wurde. Überprüfe auch, ob die UserForms die richtige Größe haben.
  • Fehler: Die UserForms überlappen sich.

    • Lösung: Achte darauf, dass die Top und Left Werte in deinem Code richtig berechnet werden. Möglicherweise musst du die Werte für die Positionierung anpassen.

Alternative Methoden

Eine alternative Methode zur Ausrichtung deiner UserForms ist die Verwendung von Screen.Width und Screen.Height. Hier ein Beispiel:

Private Sub UserForm_Activate()
    Me.Top = Screen.Height - Me.Height - 50
    Me.Left = Screen.Width - Me.Width - 17
End Sub

Diese Methode berücksichtigt die Bildschirmauflösung und positioniert die UserForms unabhängig von der Excel-Fenstergröße.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die UserForms anpassen kannst:

  1. UserForm1:

    • Füge den Code für die Positionierung in das UserForm_Activate-Ereignis der UserForm1 ein.
  2. UserForm2 bis UserForm4:

    • Wiederhole den gleichen Prozess für die restlichen UserForms.

Durch das Testen der UserForms auf verschiedenen Bildschirmgrößen kannst du sicherstellen, dass sie immer korrekt positioniert sind.


Tipps für Profis

  • Verwende Konstanten für die Positionierung: Definiere Konstanten für die Abstände (z.B. Const Abstand = 50) und verwende diese im Code, um Anpassungen einfacher zu gestalten.

  • Automatisiere die Anpassung: Du kannst eine Funktion erstellen, die die Positionierung aller UserForms gleichzeitig aktualisiert, wenn sich die Bildschirmauflösung ändert.


FAQ: Häufige Fragen

1. Wie kann ich die UserForms auf verschiedenen Monitoren richtig ausrichten?
Du kannst den Code anpassen, um die Bildschirmauflösung zu berücksichtigen, indem du Screen.Width und Screen.Height verwendest.

2. Ist es möglich, die UserForms während der Laufzeit dynamisch zu positionieren?
Ja, du kannst den Code in das UserForm_Activate-Ereignis einfügen, sodass die Positionierung bei jedem Öffnen der UserForms erfolgt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige