Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UserForm Zellengenau ausrichten

Forumthread: UserForm Zellengenau ausrichten

UserForm Zellengenau ausrichten
02.10.2003 09:51:35
Thomas
Hallo,
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
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm Zellengenau ausrichten
02.10.2003 10:12:35
Hans W. Herber
Hallo Thomas,

nein, Du hast nur die Optionen:


  • 1 - Fenstermitte

  • 2 - Bildschirmmitte

  • 3 - Windows Standard



gruss hans
AW: UserForm Zellengenau ausrichten
02.10.2003 10:16:22
Thomas
Schade, danke Hans!
AW: UserForm Zellengenau ausrichten
02.10.2003 11:44:50
heinz
und was ist mit?


Sub a()
UserForm1.Left = Tabelle1.Cells(10, 10).Left
UserForm1.Show
End Sub


ìst zwar nicht ganz genau - aber wird wohl brauchbar sein, oder?
Anzeige
AW: UserForm Zellengenau ausrichten
02.10.2003 11:48:35
Hans W. Herber
... es funktioniert jedenfalls bei XL2000 nicht, bei XL97 bestimmt auch nicht und bei XP weiss ich nicht.

gruss hans
AW: UserForm Zellengenau ausrichten
03.10.2003 09:53:06
heinz
ich arbeite mit xl2000 - früher 97
mit 2000 geht es sicher, hab ich ja probiert
und lang her (also ich glaube noch mit xl97):
ich hatte mal die aufgabe eine userform so zu starten, dass sie nicht
geschlossen werden konnte, damit man nicht die anwendung dahinter
sieht - das ganze für verschiedene bildschirme
habe dann mit
application.windowstate.xlmaximize
und
userform1.left=0
userform1.top=0
userform1.width=application.width
userform1.height=application.height
usw. gearbeitet
das ging und geht heute noch
Anzeige
AW: UserForm Zellengenau ausrichten
03.10.2003 10:01:05
Hans W. Herber
... nun, ich habe einfach den von Dir in der vorigen Nachricht geposteten Code in die Zwischenablage übernommen und getestet. Das Ergebnis findest Du hier:
https://www.herber.de/bbs/texte/test_uf.xls
Wenn die UserForm links oben erscheint, stifte ich 100 Pfund Kamillentee.

gruss hans
Anzeige
AW: UserForm Zellengenau ausrichten
03.10.2003 11:03:26
heinz
nun - ich gebs zu - kein kamillentee also
zuerst muss die startup position auf manuell gestellt werden
also


Sub a()
UserForm1.StartUpPosition = 0
UserForm1.Left = Tabelle1.Cells(10, 10).Left
UserForm1.Show
End Sub

korrektur
03.10.2003 10:55:19
heinz
habs nochmal ausprobiert:
zuerst mal:

Sub herb()
UserForm1.Show
End Sub


und weiter:


Private Sub UserForm_Initialize()
Application.WindowState = xlMaximized
UserForm1.Left = 0
UserForm1.Top = 0
UserForm1.Width = Application.Width
UserForm1.Height = Application.Height
End Sub


beispiel dazu:
https://www.herber.de/bbs/user/1272.xls

und die zellposition kann ja auch rausgekriegt werden:
UserForm1.Left = Tabelle1.Cells(zeile, spalte).Left + 20
UserForm1.Top = Tabelle1.Cells(zeile, spalte).Top + 100
diese addierten werte sind nur behelfe
die zellposition wird von zelle a1 linke obere ecke zurückgegeben
die userform position von der anwednungsfensterecke
darum die addierten werte
ließe sich vielleicht auch noch ermitteln, damits auch bei anderen fenstern
funktionieren tät
bastelbeispiel hierzu:
https://www.herber.de/bbs/user/1274.xls
Anzeige
AW: korrektur
03.10.2003 10:58:53
Hans W. Herber
Hallo Heinz,

tut mir leid, aber das erfüllt nur vermeintlich den Zweck. Die UserForm wird auf Application-Größe gesetzt, left und top sind aber außen vor.

gruss hans
AW: korrektur
03.10.2003 11:09:03
heinz
ja schon beim ersten beispiel
aber hier kommts doch klar raus, dass es geht
agesehen von der ungenauigkeit wenn zb sybolleisten eingefügt werden usw
darum kümmere ich micht noch
https://www.herber.de/bbs/user/1274.xls
Anzeige
scheint erledigt!? ot
03.10.2003 12:32:55
heinz

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

UserForm Zellengenau in Excel ausrichten


Schritt-für-Schritt-Anleitung

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.

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel.
  2. Füge eine neue UserForm hinzu.
  3. Kopiere den folgenden Code in das Codefenster der UserForm:
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
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Starte die UserForm über einen Button oder eine andere Methode.

Dieser Code richtet die UserForm so ein, dass die linke obere Ecke der UserForm auf die Zelle A1 ausgerichtet ist.


Häufige Fehler und Lösungen

  • Fehler: Die UserForm erscheint nicht an der richtigen Stelle.

    • Lösung: Stelle sicher, dass die StartUpPosition der UserForm auf 0 gesetzt ist. Füge diesen Code in dein Sub ein:
    UserForm1.StartUpPosition = 0
  • Fehler: UserForm wird nicht maximiert.

    • Lösung: Überprüfe, ob du den Code zur Maximierung der Anwendung korrekt implementiert hast:
    Application.WindowState = xlMaximized

Alternative Methoden

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

Praktische Beispiele

  1. 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
  2. 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

Tipps für Profis

  • Nutze die Application.Width und Application.Height, um die UserForm an die Bildschirmgröße anzupassen.
  • Teste den Code in verschiedenen Excel-Versionen, da einige Funktionen je nach Version unterschiedlich wirken können.
  • Achte darauf, dass das Layout der UserForm bei Änderungen der Bildschirmauflösung erhalten bleibt.

FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige