Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1384to1388
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
UserForm Position, Code für alle Blätter
18.10.2014 09:35:55
rieckmann
Hallo und guten Morgen,
dieser Code den ich gefunden habe, bestimmt die Position einer UserForm durch Eingabe der Spalte und Zeile in den Zellen A1 + A2.
O.K. die eingegebene Position stimmt nicht so ganz, aber zum feintunen finde ich die Lösung ganz toll.
Wie kann ich den Code anwenden, wenn ich die Einstellung im Blatt "Menü" vornehmen möchte, und die Anwendung in den Blättern 1 - 9 stattfinden sollen.
Also die Position im Blatt "Menü" einstellen so dass sich dann die UserForm in den Blättern 1 bis 9 dann in dieser eingestellten Position, beim öffnen des jeweiligen Blattes öffnet.
Oh Man, ich hoffe das ich es verständlich erklärt habe !
Gruß
Fred
Hier die Beispielmappe:
https://www.herber.de/bbs/user/93225.xls

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm Position, Code für alle Blätter
18.10.2014 09:46:53
Crazy
Hallo Fred
wo ist das Problem?
die Userform öffnet sich doch in jedem Tabellenblatt an gleicher Stelle
MfG Tom

AW: UserForm Position, Code für alle Blätter
18.10.2014 13:27:41
rieckmann
Hallo Tom,
da diese Tabelle auf verschiedenen PC`s läuft, verschiebt sich schon mal die Ansicht der UserForm.
Zumindest wirkt es so, wenn die Monitore unterschiedliche Formate haben.
Deshalb möchte ich das beim öffnen eines der 11 Tabellenblätter die Position der UserForm so anpasst, wie es im Tabellenblatt "Menü" eingestellt wurde.
Oder gibt es eine einfachere Lösung, wie ich die UserForm in Zeile 1 links oben platzieren kann ?
Gruß
Fred

Anzeige
AW: UserForm Position, Code für alle Blätter
18.10.2014 13:50:28
Daniel
Hi
das Grundsätzliche Problem ist, dass du die Startposition der Userform immer bezogen auf den gesamten Bildschirm angibst.
die Koordinaten einer Zelle beziehen sich aber immer auf die Position innerhalb einer Tabelle.
wenn du jetzt eine Userform genau bei einer Zelle platzieren willst, musst du, um die Bildschirmkoordinaten für die Userform zu erhalten, folgende Werte berücksichtigen bzw zusammenaddieren:
- Position des Excelfensters auf dem Bildschirm
- Rahmenbreite des Excelfensters
- für die y-Koordinate Höhe der Menüleiste und Bearbeitungszeile
- Position des Mappenfensters innerhalb des Excelfensters
- Rahmenbreite des mappenfensters
- Breite und Höhe der Zeilen/Spaltenköpfe
- Position der Zelle im Blatt
also nicht so ganz einfach, google man "Userform an Zelle ausrichten", du solltest genügend finden.
Gruß Daniel

Anzeige
AW: UserForm Position, Code für alle Blätter
18.10.2014 14:01:30
rieckmann
Hallo Daniel,
danke für die Info.
UserForm an Zelle ausrichten ist ein guter Tipp.
Die andere Sache habe ich es hinbekommen.
Private Sub Worksheet_Activate()
Tabelle1.Cells.Interior.ColorIndex = xlNone
UserForm1.Show
End Sub
Gruß
Fred

AW: UserForm Position, Code für alle Blätter
20.10.2014 15:45:41
Ewald
Hallo Fred,
teste mal so
Private Sub UserForm_Initialize()
Dim zeile, spalte, mytop, myleft, x, y
On Error GoTo fehler
zeile = Tabelle1.Cells(1, 1)
spalte = Tabelle1.Cells(2, 1)
y = Application.Height - ActiveWindow.Height + 14
x = Application.Width - ActiveWindow.Width + 20
mytop = Tabelle1.Cells(zeile, spalte).Top + y
myleft = Tabelle1.Cells(zeile, spalte).Left + x
Tabelle1.Cells(zeile, spalte).Interior.ColorIndex = 3
UserForm1.StartUpPosition = 0
UserForm1.Left = myleft
UserForm1.Top = mytop
Exit Sub
fehler:
MsgBox "Programm kann nicht vollständig ausgeführt werden", , "Ein Fehler ist aufgetreten"
End Sub
Bedenke aber das die anderen Tabellen auch das gleiche Layout wie Tabelle1 haben muß,ansonsten mußt du außer der Zeilen. und Spaltenvorgabe in Tabelle1, "Tabelle1" durch "ActiveSheet" ersetzen.
Gruß Ewald

Anzeige
AW: UserForm Position, Code für alle Blätter
20.10.2014 17:45:58
rieckmann
Hallo Ewald,
danke für deine Mühe,
und die farbige Markierung in der Zelle wird im Tabellenblatt7 in richtiger Position angezeigt,
aber die Userform1 öffnet sich nicht !
Ich habe die Eingabe-Zellen auf dem Tabellenblatt7 in A1 und A2.
Der CommandButton2, der die UserForm auslösen soll, ist auf Tabellenblatt "Menü".
Private Sub CommandButton2_Click()
Dim zeile, spalte, mytop, myleft, x, y
On Error GoTo fehler
zeile = Tabelle7.Cells(1, 1)
spalte = Tabelle7.Cells(2, 1)
y = Application.Height - ActiveWindow.Height + 14
x = Application.Width - ActiveWindow.Width + 20
mytop = Tabelle7.Cells(zeile, spalte).Top + y
myleft = Tabelle7.Cells(zeile, spalte).Left + x
Tabelle7.Cells(zeile, spalte).Interior.ColorIndex = 3
UserForm1.StartUpPosition = 0
UserForm1.Left = myleft
UserForm1.Top = mytop
Exit Sub
fehler:
MsgBox "Programm kann nicht vollständig ausgeführt werden", , "Ein Fehler ist aufgetreten"
End Sub

Gruß
Fred

Anzeige
AW: UserForm Position, Code für alle Blätter
20.10.2014 18:27:05
rieckmann
Hallo Ewald,
danke für deine Mühe,
und die farbige Markierung in der Zelle wird im Tabellenblatt7 in richtiger Position angezeigt,
aber die Userform1 öffnet sich nicht !
Ich habe die Eingabe-Zellen auf dem Tabellenblatt7 in A1 und A2.
Der CommandButton2, der die UserForm auslösen soll, ist auf Tabellenblatt "Menü".
Private Sub CommandButton2_Click()
Dim zeile, spalte, mytop, myleft, x, y
On Error GoTo fehler
zeile = Tabelle7.Cells(1, 1)
spalte = Tabelle7.Cells(2, 1)
y = Application.Height - ActiveWindow.Height + 14
x = Application.Width - ActiveWindow.Width + 20
mytop = Tabelle7.Cells(zeile, spalte).Top + y
myleft = Tabelle7.Cells(zeile, spalte).Left + x
Tabelle7.Cells(zeile, spalte).Interior.ColorIndex = 3
UserForm1.StartUpPosition = 0
UserForm1.Left = myleft
UserForm1.Top = mytop
Exit Sub
fehler:
MsgBox "Programm kann nicht vollständig ausgeführt werden", , "Ein Fehler ist aufgetreten"
End Sub

Gruß
Fred

Anzeige
AW: UserForm Position, Code für alle Blätter
20.10.2014 19:08:39
rieckmann
Na super,
so klapps das ja sehr gut.
Danke und Gruß
Fred

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige