zuordnen?
Peter
'Me.Top = Range("B2")
'Me.Left = Range("B2")
Private Sub CommandButton1_Click()
MsgBox "Adresse der Zelle B5: Top " & Range("B5").Top & ", Links: " & Range("B5").Left
'Postionierung der UF nach den Ergebnissen von B5
With Me
.Top = Range("B5").Top
.Left = Range("B5").Left
End With
End Sub
Private Sub UserForm_Initialize()
Me.Width = Range("B2").Width
Me.Height = Range("B2").Height
For lngLeft = 1 To ActiveCell.Columns - 1
sumLeft = lngLeft + Columns(lngLeft).Width
Next
Me.Left = sumLeft
End Sub
Um die Position einer Userform in Excel einer bestimmten Zelle zuzuordnen, kannst du den folgenden VBA-Code verwenden:
Alt + F11
.Private Sub CommandButton1_Click()
MsgBox "Adresse der Zelle B5: Top " & Range("B5").Top & ", Links: " & Range("B5").Left
'Positionierung der Userform nach den Ergebnissen von B5
With Me
.Top = Range("B5").Top
.Left = Range("B5").Left
End With
End Sub
Dieser Code zeigt die Position der Zelle B5 an und positioniert die Userform entsprechend.
Ein häufiger Fehler ist, dass die Position der Userform nicht korrekt angezeigt wird. Dies kann passieren, weil die Position in Excel relativ zum Excel-Fenster und nicht zum Bildschirm ist. Hier sind einige Lösungen:
.Top
und .Left
sind relativ zur oberen linken Ecke des Excel-Fensters.Eine alternative Methode zur Positionierung einer Userform ist die Berechnung der Position in Pixel. Hier ein Beispiel:
Private Sub UserForm_Initialize()
Me.Width = Range("B2").Width
Me.Height = Range("B2").Height
Dim sumLeft As Double
Dim lngLeft As Integer
For lngLeft = 1 To ActiveCell.Column - 1
sumLeft = sumLeft + Columns(lngLeft).Width
Next
Me.Left = sumLeft
End Sub
Dieser Code berechnet die Breite der Spalten bis zur aktiven Zelle und positioniert die Userform entsprechend.
Hier sind einige praktische Beispiele zur Verwendung von vba position userform
:
Private Sub UserForm_Initialize()
Me.Top = Range("A1").Top + Range("A1").Height
Me.Left = Range("A1").Left
End Sub
Private Sub CommandButton1_Click()
With Me
.Top = ActiveCell.Top + ActiveCell.Height
.Left = ActiveCell.Left
End With
End Sub
zelle.zuordnen
: Nutze die Methode, um die Zelle und deren Position dynamisch in deine Userform zu integrieren.MsgBox
, um die Positionen während der Entwicklung zu testen und Anpassungen vorzunehmen.1. Kann ich die Position der Userform relativ zu einer anderen Zelle setzen?
Ja, du kannst die Position der Userform relativ zu einer anderen Zelle setzen, indem du die Eigenschaften .Top
und .Left
entsprechend anpasst.
2. Warum wird die Userform manchmal an der falschen Stelle angezeigt?
Das kann passieren, wenn du im Vollbildmodus arbeitest oder wenn die Symbolleisten die Position der Zelle beeinflussen. Stelle sicher, dass du die korrekten Pixelwerte verwendest und teste die Userform in verschiedenen Ansichten.
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