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

Forumthread: Größe der UserForm anpassen

Größe der UserForm anpassen
07.02.2005 18:10:02
Anja
Hallo ihr da draußen - hab mal wd. eine Frage:
Wie kann ich es anstellen, daß sich die Größe der UserForm automatisch an die der Excel-Mappe(wenn diese nicht maximiert ist) mit der sie duch ein Makro automatisch geöffnet wird, anpaßt?
Vielen Dank schon mal - die Anja.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Größe der UserForm anpassen
07.02.2005 18:16:13
Matthias
Hallo Anja,
z.B. so:
Private Sub UserForm_Initialize()
With Application
Me.Left = .Left
Me.Top = .Top
Me.Height = .Height
Me.Width = .Width
End With
End Sub
Was soll den anders sein, wenn Excel nicht maximiert ist?
Gruß Matthias
AW: vielen Dank für die schnelle Hilfe - o.T.
Anja
-
ist noch nicht optimal ;-(
Anja
hab's gerade ausprobiert - die Größe wird zwar angepaßt, aber nur abgeschnitten - d.h. auch mit ScrollBars kann man nicht das ganze Formular ansehen.
Und nu ?
Anzeige
AW: ist noch nicht optimal ;-(
Udo
Userforms haben ein Zoom-Ereignis, das musst du verwenden.
Udo
AW: ist noch nicht optimal ;-(
07.02.2005 19:26:17
Matthias
Hallo anja,
Habe Dank Google das hier gefunden:
https://www.herber.de/forum/archiv/416to420/t419027.htm
Also dann so:
Private Sub UserForm_Initialize()
With Application
Me.ScrollHeight = Me.Height
Me.ScrollWidth = Me.Width
Me.Left = .Left
Me.Top = .Top
Me.Height = .Height
Me.Width = .Width
End With
End Sub
Gruß Matthias
Anzeige
vielen lieben Dank ihr zwei
Anja
hab auch gerade selbst noch was gefunden - aber das ist besser.
Manchmal hat man echt Tomaten auf den Augen ;-)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

UserForm-Größe in Excel automatisch anpassen


Schritt-für-Schritt-Anleitung

Um die Größe einer UserForm in Excel automatisch an die Größe der Excel-Mappe anzupassen, kannst du folgenden VBA-Code verwenden. Dieser muss im UserForm_Initialize-Ereignis platziert werden:

Private Sub UserForm_Initialize()
    With Application
        Me.ScrollHeight = Me.Height
        Me.ScrollWidth = Me.Width
        Me.Left = .Left
        Me.Top = .Top
        Me.Height = .Height
        Me.Width = .Width
    End With
End Sub

Stelle sicher, dass du dies in der richtigen Excel-Version machst – die Schritte sind in Excel 2010 und höher anwendbar.


Häufige Fehler und Lösungen

Problem: Die UserForm wird zwar angepasst, aber Teile des Formulars sind abgeschnitten und nicht sichtbar.

Lösung: Stelle sicher, dass die Scrollbars aktiviert sind. Wenn du die oben genannte Methode anwendest, sollte das Scrollverhalten wie gewünscht funktionieren. Der Einsatz von Me.ScrollHeight und Me.ScrollWidth hilft, die Anzeige zu optimieren.


Alternative Methoden

Eine alternative Möglichkeit zur Anpassung der UserForm-Größe ist die Verwendung von Zoom. Dies kann hilfreich sein, wenn du die UserForm in einer anderen Ansicht darstellen möchtest. Hier ist ein einfacher Code, der das Zoom-Ereignis umfasst:

Private Sub UserForm_Initialize()
    With Application
        Me.Zoom = 100 ' Setze den Zoom auf 100%
        Me.Left = .Left
        Me.Top = .Top
        Me.Height = .Height
        Me.Width = .Width
    End With
End Sub

Praktische Beispiele

Wenn du beispielsweise eine UserForm mit verschiedenen Steuerelementen (Buttons, Textfelder) hast, ist es wichtig, die Größe dynamisch anzupassen, damit alle Elemente sichtbar sind. Ein konkretes Beispiel könnte so aussehen:

Private Sub UserForm_Initialize()
    With Application
        Me.ScrollHeight = 500 ' Beispielhöhe
        Me.ScrollWidth = 300  ' Beispielbreite
        Me.Left = .Left
        Me.Top = .Top
        Me.Height = .Height
        Me.Width = .Width
    End With
End Sub

Verwende diese Methode, um Benutzerfreundlichkeit zu gewährleisten.


Tipps für Profis

  • Experimentiere mit verschiedenen Höhen und Breiten: Passe die Werte für ScrollHeight und ScrollWidth an, um die perfekte Größe für deine spezifischen Anforderungen zu finden.
  • Verwende Debug.Print: Nutze Debug.Print in deinem Code, um die Werte von Height und Width auszugeben. So kannst du besser verstehen, wie die Anpassungen wirken.
  • Teste auf verschiedenen Bildschirmauflösungen: Stelle sicher, dass deine UserForm auf verschiedenen Monitoren gut aussieht, insbesondere wenn du mit verschiedenen Benutzern arbeitest.

FAQ: Häufige Fragen

1. Warum wird die UserForm nicht korrekt angezeigt?
Überprüfe, ob du alle notwendigen Einstellungen in der Initialize-Prozedur vorgenommen hast. Besonders die Scrollbar-Einstellungen können entscheidend sein.

2. Kann ich die Größe der UserForm auch manuell anpassen?
Ja, du kannst die Größe der UserForm manuell in den Eigenschaften der UserForm im VBA-Editor einstellen, aber die automatische Anpassung bietet oft mehr Flexibilität.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige