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

Forumthread: Wie kann ich eine Userform links oben positioniere

Wie kann ich eine Userform links oben positioniere
volker
Guten Morgen Leute,
heute mal eine ganz einfache Frage, weswegen es im Forum wohl noch keine Antwort dazu gibt (fand zumindest nichts nach langer Suche) :-((
Wie kann ich eine userform beliebig auf dem Bildschirm plazieren, z.B. am rechten Rand in der Mitte des Bieldschirms bzw. linker Rand an der unteren Kante des Bilschirms?
Danke
Volker
Anzeige
AW: Wie kann ich eine Userform links oben positioniere
Fabio
Hi Volker,
Geh im VBA -Modus in das Eigenschaftsfenster (rechts unten), klicke auf 'StartUpPosition' und drücke F1. Hier steht dann genau was du machen kannst/sollst.
Grüße FABIO
AW: Wie kann ich eine Userform links oben positioniere
volker
Danke Fabio,
nur leider, leider hilft es nicht wirklich weiter: Da war ich nämlich auch schon und bin etwas verzeifelt:
Ich kann damit ja nur in der Bildschirmmitte oder in der linken oberen Ecke positionieren.
Wie bekomme ich es in die rechte untere Ecke? Oder in die Mitte des oberen Randes?
Die Einstellung Manuell = 0 hilft mir nicht weiter, solange ich nicht weiß wie ich eine manuelle Position angeben kann.
Weißt Du dazu noch was?
Volker
Anzeige
Sorry... da setzten meine Kenntnisse aus o.T.
Fabio
AW: Sorry... da setzten meine Kenntnisse aus o.T.
ypsilon
hi Volker,
wenn du die startupposition auf 0 stellst dann sind left und top für die position der userform zuständig (auf left gehen und F1 drücken = wunderschöne hilfe)
wenn left und top auf 0 stehen erscheint deine userform in der linken oberen ecke
cu Micha
AW: Sorry... da setzten meine Kenntnisse aus o.T.
volker
Danke Micha,
das war der Tipp, der mein Wochenende verschönert!
Kleine Nachfrage: Hast Du eine Möglichkeit, wie man zwei Userformen gleichzeitig anzeigen kann?
Oder andersgefragt:
Welches Ereignis löst usf1.Show aus, damit dieses dann usf2.Show auslösen kann?
Danke Volker
Anzeige
danke für die rückmeldung :-)
ypsilon
deine frage wurde ja im neuen thread schon beantwortet
;
Anzeige
Anzeige

Infobox / Tutorial

Userform in Excel links oben positionieren


Schritt-für-Schritt-Anleitung

Um eine Userform in Excel links oben oder an einer anderen gewünschten Position auf dem Bildschirm zu platzieren, folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Erstelle eine neue Userform: Klicke mit der rechten Maustaste im Projektfenster auf dein Projekt, gehe zu Einfügen und wähle UserForm.
  3. Öffne das Eigenschaftenfenster: Klicke auf die Userform und öffne das Eigenschaftenfenster (drücke F4, falls es nicht sichtbar ist).
  4. Setze die StartUpPosition: Suche die Eigenschaft StartUpPosition und stelle sie auf 0 (benutzerdefiniert). Dies ermöglicht es dir, die Position manuell festzulegen.
  5. Lege die Position fest: Setze die Left- und Top-Eigenschaften:
    • Um die Userform links oben zu positionieren, setze Left auf 0 und Top auf 0.
    • Für andere Positionen, z.B. rechts unten oder in der Mitte, musst du die Werte für Left und Top entsprechend anpassen.

Hier ein Beispiel, um die Userform in der Mitte des Bildschirms zu positionieren:

With UserForm1
    .StartUpPosition = 0
    .Left = (Application.Width / 2) - (.Width / 2)
    .Top = (Application.Height / 2) - (.Height / 2)
End With

Häufige Fehler und Lösungen

  • Userform erscheint nicht an der gewünschten Stelle: Stelle sicher, dass die StartUpPosition auf 0 gesetzt ist. Überprüfe die Werte für Left und Top.

  • Kann keine Position einstellen: Wenn die StartUpPosition nicht auf 0 gesetzt ist, kannst du die Position nicht manuell anpassen. Stelle sicher, dass diese Einstellung korrekt ist.


Alternative Methoden

Wenn du die Userform nicht über die StartUpPosition und die Left-/Top-Eigenschaften positionieren möchtest, kannst du auch die folgenden Methoden verwenden:

  1. Zugriff auf die Bildschirmgröße: Berechne die Position, indem du die Bildschirmgröße abfragst und die gewünschte Position abziehst:

    Dim screenWidth As Long
    Dim screenHeight As Long
    screenWidth = Application.Width
    screenHeight = Application.Height
    UserForm1.Left = screenWidth - UserForm1.Width  ' Rechts
    UserForm1.Top = screenHeight - UserForm1.Height  ' Unten
  2. VBA-Makros: Schreibe ein Makro, das die Userform an der gewünschten Position anzeigt, wenn es aufgerufen wird.


Praktische Beispiele

Um die Userform in der Mitte des oberen Bildschirms zu positionieren, kannst du folgenden Code verwenden:

With UserForm1
    .StartUpPosition = 0
    .Left = (Application.Width / 2) - (.Width / 2)
    .Top = 0  ' Oben
End With

Für die Positionierung in der rechten unteren Ecke:

With UserForm1
    .StartUpPosition = 0
    .Left = Application.Width - .Width
    .Top = Application.Height - .Height
End With

Tipps für Profis

  • Nutze die UserForm-Ereignisse, um die Position dynamisch zu ändern, z.B. beim Laden der Userform.
  • Experimentiere mit den Eigenschaften WindowState und BorderStyle, um das Erscheinungsbild der Userform weiter anzupassen.
  • Bei der Nutzung mehrere Userforms, stelle sicher, dass die Sichtbarkeit und die Positionen sich nicht überschneiden, um eine bessere Benutzererfahrung zu bieten.

FAQ: Häufige Fragen

1. Wie kann ich eine Userform in der Mitte des Bildschirms positionieren?
Du kannst die Eigenschaften Left und Top verwenden, um die Userform mittig zu positionieren. Berechne die Werte basierend auf der Bildschirmgröße.

2. Kann ich mehrere Userforms gleichzeitig anzeigen?
Ja, du kannst mehrere Userforms anzeigen, indem du die Show-Methode für jede Userform im gewünschten Ereignis aufrufst. Achte darauf, dass sie sich nicht überlappen.

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