Berechnen des Abstands zwischen dem oberen Rand des Fensters und Zeile 1 (Microsoft Excel)
Wenn er eine UserForm erstellt, setzt Louis die Top-Eigenschaft der UserForm auf 222, die er durch Ausprobieren als Pixelabstand zwischen dem oberen Rand des aktiven Fensters und dem oberen Rand der ersten Datenzeile im Arbeitsblatt ermittelt. Er fragt sich, ob es eine Möglichkeit gibt, diese Entfernung programmgesteuert zu berechnen, da die Entfernung abhängig von der Anzeige des Menübands und der Höhe der Formelleiste variieren kann.
Wenn Sie die Höhe des Multifunktionsleistenbereichs ermitteln müssen, können Sie die Height-Eigenschaft des CommandBars-Objekts („Multifunktionsleiste“) folgendermaßen untersuchen:
iHt = CommandBars("Ribbon").Height
Das gibt Ihnen natürlich nur einen Teil der Informationen, die Sie letztendlich benötigen. Die Positionierungsinformationen für eine UserForm basieren auf der oberen linken Ecke des Programmfensters. Daher müssen Sie die Randdicke des Fensters (wenn es einen Rand gibt), die Multifunktionsleistenhöhe (oben erwähnt, jedoch nur, wenn eine Excel-Version ausgeführt wird, die die Multifunktionsleiste verwendet) und die Höhe der Formelleiste berücksichtigen , jeder Platz, der dem Herrscher erlaubt ist, und so weiter.
Die meisten dieser Dinge haben keine Höheseigenschaften, die Sie überprüfen können. Das Positionieren einer UserForm kann daher ein Prozess des Versuchs und Irrtums in der richtigen Reihenfolge sein.
Sobald Sie die UserForm korrekt auf Ihrem System positioniert haben, gibt es keine Garantie dafür, dass sie korrekt positioniert wird, wenn sie auf dem System einer anderen Person angezeigt wird.
Die beste Lösung, die wir gefunden haben, besteht darin, (in diesem Fall) das Rad nicht neu zu erfinden. Chip Pearson hat auf seiner Website einen so genannten „Formularpositionierer“ erstellt, der das Rätselraten bei der Positionierung einer UserForm erleichtert. Informationen dazu finden Sie hier:
http://www.cpearson.com/Excel/FormPosition.htm
Es gibt keine Gebühr; Es ist frei. Sie können eine UserForm relativ zu einer beliebigen Zelle auf dem Bildschirm positionieren. Wenn Sie Makros entwickeln, die auf UserForms basieren, sollten Sie sich über das Angebot von Chip informieren.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2309) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.