gibt es eine Möglichkeit in Excel 97 eine Userform beim Aufruf zellengenau auszurichten?
Beispiel: Linke ober Ecke der Userform soll an Zelle A1 ausgerichtet sein.
Viele Grüße/Thomas
Sub a()
UserForm1.Left = Tabelle1.Cells(10, 10).Left
UserForm1.Show
End Sub
Sub a()
UserForm1.StartUpPosition = 0
UserForm1.Left = Tabelle1.Cells(10, 10).Left
UserForm1.Show
End Sub
Private Sub UserForm_Initialize()
Application.WindowState = xlMaximized
UserForm1.Left = 0
UserForm1.Top = 0
UserForm1.Width = Application.Width
UserForm1.Height = Application.Height
End Sub
Um eine UserForm in Excel zellengenau auszurichten, kannst du den folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass die UserForm an einer bestimmten Zelle positioniert wird. Für dieses Beispiel gehen wir davon aus, dass du mit Excel 2000 oder höher arbeitest.
Private Sub UserForm_Initialize()
Application.WindowState = xlMaximized
UserForm1.Left = Tabelle1.Cells(1, 1).Left ' Positioniert die UserForm an Zelle A1
UserForm1.Top = Tabelle1.Cells(1, 1).Top
End Sub
Dieser Code richtet die UserForm so ein, dass die linke obere Ecke der UserForm auf die Zelle A1 ausgerichtet ist.
Fehler: Die UserForm erscheint nicht an der richtigen Stelle.
StartUpPosition
der UserForm auf 0
gesetzt ist. Füge diesen Code in dein Sub ein:UserForm1.StartUpPosition = 0
Fehler: UserForm wird nicht maximiert.
Application.WindowState = xlMaximized
Eine weitere Methode zur Positionierung der UserForm besteht darin, die Position relativ zu einer anderen Zelle zu berechnen. Du kannst den folgenden Code verwenden, um die UserForm an eine beliebige Zelle auszurichten:
Sub PositioniereUserForm()
Dim zeile As Integer
Dim spalte As Integer
zeile = 2 ' Z. B. Zelle B2
spalte = 2
UserForm1.Left = Tabelle1.Cells(zeile, spalte).Left + 20 ' Offset von 20 Pixeln
UserForm1.Top = Tabelle1.Cells(zeile, spalte).Top + 100 ' Offset von 100 Pixeln
UserForm1.Show
End Sub
UserForm an Zelle B2 ausrichten:
Sub a()
UserForm1.StartUpPosition = 0
UserForm1.Left = Tabelle1.Cells(2, 2).Left
UserForm1.Top = Tabelle1.Cells(2, 2).Top
UserForm1.Show
End Sub
UserForm über den gesamten Bildschirm anzeigen:
Private Sub UserForm_Initialize()
UserForm1.Left = 0
UserForm1.Top = 0
UserForm1.Width = Application.Width
UserForm1.Height = Application.Height
End Sub
Application.Width
und Application.Height
, um die UserForm an die Bildschirmgröße anzupassen.1. Kann ich die UserForm auch auf mehreren Bildschirmen zentrieren?
Ja, dafür musst du die Bildschirmauflösung und Position der UserForm anpassen. Verwende dazu die Screen.Width
und Screen.Height
Eigenschaften.
2. Welche Excel-Versionen unterstützen diese Methode?
Die beschriebenen Methoden funktionieren in Excel 97 und höher, jedoch können sich die Ergebnisse in älteren Versionen unterscheiden. Es ist empfehlenswert, mit Excel 2000 oder neuer zu arbeiten.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen