UserForm in Excel richtig konfigurieren
Schritt-für-Schritt-Anleitung
Um zu verhindern, dass sich eine UserForm in Excel verschieben lässt, kannst du den folgenden VBA-Code verwenden. Dieser Code stellt sicher, dass die UserForm im Vollbildmodus angezeigt wird und nicht verschoben werden kann.
-
Öffne den VBA-Editor in Excel (drücke ALT
+ F11
).
-
Erstelle eine neue UserForm oder wähle eine bestehende aus.
-
Füge den folgenden Code in das Code-Fenster der UserForm ein:
Private Sub UserForm_Initialize()
' Vollbild der UserForm
Application.DisplayFullScreen = True
' UserForm der Größe des Excel-Fensters anpassen
With Me
.Height = Application.Height
.Width = Application.Width
End With
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
MsgBox "Geht nicht.", vbInformation
Cancel = True
End If
End Sub
-
Speichere die Änderungen und teste die UserForm.
Häufige Fehler und Lösungen
Alternative Methoden
Eine andere Möglichkeit, die UserForm zu positionieren und zu konfigurieren, besteht darin, die Bildschirmaktualisierung zu deaktivieren. Dies kann Flackern beim Anzeigen der UserForm vermeiden:
-
Füge den folgenden Code vor dem Aufruf der UserForm ein:
Application.ScreenUpdating = False
-
Vergiss nicht, die Bildschirmaktualisierung wieder zu aktivieren:
Application.ScreenUpdating = True
Praktische Beispiele
Hier ist ein einfaches Beispiel, wie du die UserForm zentrieren und die Position fixieren kannst:
Private Sub UserForm_Layout()
' UserForm zentrieren
Me.Move Application.Width / 2 - Me.Width / 2, Application.Height / 2 - Me.Height / 2
End Sub
Verwende diesen Code in Kombination mit dem vorherigen, um die UserForm optimal zu gestalten.
Tipps für Profis
- Vermeide die Verwendung von
Select
und Activate
, um Flackern zu reduzieren.
- Nutze
Application.ScreenUpdating = False
, um die Benutzeroberfläche während der Makroausführung nicht zu aktualisieren.
- Wenn du die UserForm in eine spezifische Excel-Version (z. B. Excel 2010 oder höher) integrieren möchtest, teste den Code gründlich, um sicherzustellen, dass er kompatibel ist.
FAQ: Häufige Fragen
1. Warum flackert meine UserForm, wenn ich sie versuche zu verschieben?
Das Flackern kann durch die Bildschirmaktualisierung verursacht werden. Stelle sicher, dass Application.ScreenUpdating
auf False
gesetzt ist, bevor du die UserForm anzeigst.
2. Kann ich die Größe der UserForm dynamisch anpassen?
Ja, du kannst die Größe der UserForm an die Größe des Excel-Fensters anpassen, indem du den entsprechenden Code in die UserForm_Initialize()
-Subroutine einfügst, wie im Schritt-für-Schritt-Anleitung beschrieben.