Office: Die Position einer Userform auf dem Desktop

Helfe beim Thema Die Position einer Userform auf dem Desktop in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich möchte gerne durch Anklicken einer Zelle eine Userform aufrufen, die in der gleichen Zeile wie die Zelle steht, aber am Anfang der... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von fischerpeter, 3. Juni 2014.

  1. Die Position einer Userform auf dem Desktop


    Hallo zusammen,
    ich möchte gerne durch Anklicken einer Zelle eine Userform aufrufen, die in der gleichen Zeile wie die Zelle steht, aber am Anfang der Spalte 10 (J).

    Ich habe folgendes programmiert:
    Private Sub UserForm_Initialize()
    UserForm1.Left = Tabelle1.Cells(ActiveCell.Row, 10).Left + 20
    UserForm1.Top = Tabelle1.Cells(ActiveCell.Row, 10).Top + 100
    End Sub

    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    If Not Application.Intersect(ActiveCell, Range("$A$1:$B$300")) Is Nothing Then UserForm1.Show vbModeless
    End If
    End Sub

    1. Versuch: Das funktioniert tadellos, solange ich nicht scrolle. Wenn ich z.B. A10 anklicke, erscheint die Userform mit der linken oberen Ecke in J10.

    2. Versuch:Sobald ich aber scrolle und wieder in A10 klicke, erscheint die Userform auf dem Desktop an der gleichen Stelle wie beim 1. Versuch, nur ist jetzt durch das Scrollen die Userform an der Position J18, je nachdem, wie viel ich gescrollt habe.

    Nun meine erste Frage: Gibt es die Möglichkeit, wie weit gescrollt (oder um wie viele Pixel verschoben wurde) wurde per Messwert zu erfassen und diese Verschiebung in meinen Code zu berücksichtigen, so dass die Userform auch nach einem Scrollvorgang wieder auf J10 erscheint?

    Meine zweite Frage wäre: Ich habe versucht den Bildschirm-Zoom zu berücksichtigen durch Multiplikation von Userform1.Left mit (activewwindow.zoom/100), aber nach Veränderung des Zooms passte es nicht mit J10. Hat jemand eine bessere Idee?

    Grüße
    fischerpeter

    :)
     
    fischerpeter, 3. Juni 2014
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    das Ereignis Private Sub UserForm_Initialize() wird in einer Excel Sitzung nur einmal ausgeführt. Benutze Activate.
     
    Hajo_Zi, 4. Juni 2014
    #2
  3. Hallo,

    @Hajo: Initialize wird immer dann ausgeführt wenn ein Userform in die Userforms-Auflistung geladen wird. Sprich nach der UnLoad-Methode wird es beim erneuten Laden auch erneut ausgeführt. Wenn das Userform per Hide-Methode ausgeblendet wird, dann ist es ja immer noch in der Auflistung.

    @fischerpeter: Top und Left einer Zelle geben nicht die Position der Zelle auf dem Bildschirm, sondern die Position der Tabelle wieder. Zelle A1 hat immer die Position Top=0 und Left=0 egal wohin du scrollst.

    Hier mal ein Beispiel wie ein Userform an der aktiven Zelle erscheint. Musst du dir nur anpassen:

    Code:
     
    Nepumuk, 4. Juni 2014
    #3
  4. Die Position einer Userform auf dem Desktop

    Hallo Nepumuk,
    ich schaue gerade meine bisher gestellten Fragen und und stelle gerade fest, dass ich noch nicht auf deine Antwort reagiert habe.

    Also, genau deins war die Lösung. Es funktioniert genau wie gewünscht.

    Vielen Dank
    fischerpeter
     
    fischerpeter, 27. August 2014
    #4
Thema:

Die Position einer Userform auf dem Desktop

Die Seite wird geladen...
  1. Die Position einer Userform auf dem Desktop - Similar Threads - Position Userform Desktop

  2. User form Drucken Position

    in Microsoft Excel Hilfe
    User form Drucken Position: Hallo Leute Habe den Code für das Ausdrucken einer User Form.. Die User Form wird im A4 Blatt gedruckt habe aber links nur einen Abstand von einem 1 cm zum Blattrand. Wie kann ich den Abstand vom...
  3. Textfelder verschieben

    in Microsoft Excel Hilfe
    Textfelder verschieben: Hallo Forum, ich habe zwei Textfelder auf meinem Tabellenblatt (Textfeld 4 und Textfeld 5) in meiner xlsm Excel Datei. Textfeld 4 befindet sich unter Textfeld 5. Diese beiden Textfelder nutze ich,...
  4. Rechnung mit Positionen und Defaultwert-Vervollständigung

    in Microsoft Excel Tutorials
    Rechnung mit Positionen und Defaultwert-Vervollständigung: Momentan noch fehlerhaft bei direktem Anschluss der Bereiche! Es sei gegeben der Auswertungsbereich A1:C2: 02.02.2023 04.04.2023 25 05.05.2023 06.06.2023 20 ...sowie die 3 Parameter von, bis und...
  5. Linien in Bericht dynamisch in Höhe und Position???

    in Microsoft Access Hilfe
    Linien in Bericht dynamisch in Höhe und Position???: Hallo zusammen, ich habe folgendes Problem: In einem Bericht habe ich im Berichtsfuß drei Unterberichte nebeneinander, welche unterschiedliche Höhen haben können. (Darunter kommen dann weitere...
  6. Eingabe der Zellen Position

    in Microsoft Excel Hilfe
    Eingabe der Zellen Position: Ich bin Anfänger in excel Ich frage mich ist es möglich aus einer zelle einen wert lesen und ihn in einer Formel benutzen Beispiel in spalte a stehen 100 wörter von a1 bis a100 alle außer 1...
  7. Spalten sortieren nach Positionen

    in Microsoft Excel Hilfe
    Spalten sortieren nach Positionen: Hallo, ich habe eine Tabelle mit Positionen welche nicht immer in der Spalte gleich sind. Wie kann mann neue Spalten daneben anlegen und die Positionen so sortieren, das die Werte ( z.B 1 oder 216...
  8. Position der Userform auf Bildschirm

    in Microsoft Excel Hilfe
    Position der Userform auf Bildschirm: Hallo, ich gebe dem Nutzer die Möglichkeit die Userform neu zu positionieren und die Position abzuspeichern. Jetzt kann er sich auch vertippen und die Userform landet außerhalb des Bildschirms....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden