Office: Userform unter Mauszeiger öffnen

Helfe beim Thema Userform unter Mauszeiger öffnen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Experten, brauche etwas Hilfe. Ich möchte eine Userform direkt unter dem Mauszeiger anzeigen. Habe im Internet folgendes gefunden, dass... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Kobayashimaru, 9. Januar 2013.

  1. Userform unter Mauszeiger öffnen


    Hallo Experten, brauche etwas Hilfe.

    Ich möchte eine Userform direkt unter dem Mauszeiger anzeigen.
    Habe im Internet folgendes gefunden, dass Funktioniert aber nicht. die Userform wird immer oben Links angezeigt.
    Kann mir jemand helfen? Die Userform wird durch einen Rechtsklick in einer Zelle gestartet.

    ' **********************************************************************
    ' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
    ' **********************************************************************

    Option Explicit



    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    X = Target.Left
    Y = Target.Top
    UserForm1.Show
    'Cancel = True
    End Sub


    ' **********************************************************************
    ' Modul: Modul1 Typ: Allgemeines Modul
    ' **********************************************************************

    Option Explicit

    Public X, Y

    ' **********************************************************************
    ' Modul: UserForm1 Typ: Userform
    ' **********************************************************************

    Option Explicit



    Private Sub UserForm_Activate()
    Me.Top = Y
    Me.Left = X
    End Sub


    Danke Patric

    :)
     
    Kobayashimaru, 9. Januar 2013
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    die Userform sollte da geöffnet werden wo Du rechts Klick machst. Top und Left ist oben links.
    Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
    Ein Link zur Datei wäre nicht schlecht.
     
    Hajo_Zi, 11. Januar 2013
    #2
  3. Hallo Hajo,

    die Datei kann ich leider nicht hochladen, da das von den Arbeitsrechnern nicht möglich ist.
    hier mal mein gesamter Code:

    '*************************************************
    'In Tabelle 1 steht
    '*************************************************
    Option Explicit

    Public X, Y

    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("C4:H23")) Is Nothing Then GoTo Line1
    Cancel = True
    UserForm1.Label1.Caption = Sheets("Tabelle2").Range("D5")
    UserForm1.Label2.Caption = Sheets("Tabelle2").Range("D6")
    UserForm1.Label3.Caption = Sheets("Tabelle2").Range("D7")
    UserForm1.Label4.Caption = Sheets("Tabelle2").Range("D8")
    UserForm1.Label5.Caption = Sheets("Tabelle2").Range("D9")
    UserForm1.Label6.Caption = Sheets("Tabelle2").Range("D10")
    UserForm1.Label7.Caption = Sheets("Tabelle2").Range("D11")
    UserForm1.Label8.Caption = Sheets("Tabelle2").Range("D12")
    UserForm1.Label9.Caption = Sheets("Tabelle2").Range("D13")
    UserForm1.Label10.Caption = Sheets("Tabelle2").Range("D14")
    X = Target.Left
    Y = Target.Top

    UserForm1.Show

    Line1: If Intersect(Target, Range("B4:B23")) Is Nothing Then GoTo Line2
    Cancel = True
    UserForm2.Label1.Caption = Sheets("Tabelle2").Range("B5")
    UserForm2.Label2.Caption = Sheets("Tabelle2").Range("B6")
    UserForm2.Label3.Caption = Sheets("Tabelle2").Range("B7")
    UserForm2.Label4.Caption = Sheets("Tabelle2").Range("B8")
    UserForm2.Label5.Caption = Sheets("Tabelle2").Range("B9")
    UserForm2.Label6.Caption = Sheets("Tabelle2").Range("B10")
    UserForm2.Show

    Line2: If Intersect(Target, Range("C2:C3")) Is Nothing Then Exit Sub
    Cancel = True
    'besonderheit

    End Sub

    '************************
    'Bei Userform1 steht
    '***********************
    Option Explicit
    Public X, Y
    Private Sub UserForm_Activate()
    Me.Top = Y
    Me.Left = X
    End Sub

    Private Sub Label1_Click()
    ActiveCell.Value = Sheets("Tabelle2").Range("D5")
    Sheets("Tabelle2").Range("D5").Copy
    ActiveCell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Dim Zielbereich As Range
    Set Zielbereich = Sheets("Tabelle1").Range("C4:G23")
    If Intersect(ActiveCell, Zielbereich) Is Nothing Then
    Unload Me
    Else
    Cells(ActiveCell.Row, ActiveCell.Column + 1).Activate
    End If
    End Sub
    Private Sub Label10_Click()
    ActiveCell.Value = Sheets("Tabelle2").Range("D14")
    Sheets("Tabelle2").Range("D14").Copy
    ActiveCell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Dim Zielbereich As Range
    Set Zielbereich = Sheets("Tabelle1").Range("C4:G23")
    If Intersect(ActiveCell, Zielbereich) Is Nothing Then
    Unload Me
    Else
    Cells(ActiveCell.Row, ActiveCell.Column + 1).Activate
    End If
    End Sub
    Private Sub Label2_Click()
    ActiveCell.Value = Sheets("Tabelle2").Range("D6")
    Sheets("Tabelle2").Range("D6").Copy
    ActiveCell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Dim Zielbereich As Range
    Set Zielbereich = Sheets("Tabelle1").Range("C4:G23")
    If Intersect(ActiveCell, Zielbereich) Is Nothing Then
    Unload Me
    Else
    Cells(ActiveCell.Row, ActiveCell.Column + 1).Activate
    End If
    End Sub
    Private Sub Label3_Click()
    ActiveCell.Value = Sheets("Tabelle2").Range("D7")
    Sheets("Tabelle2").Range("D7").Copy
    ActiveCell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Dim Zielbereich As Range
    Set Zielbereich = Sheets("Tabelle1").Range("C4:G23")
    If Intersect(ActiveCell, Zielbereich) Is Nothing Then
    Unload Me
    Else
    Cells(ActiveCell.Row, ActiveCell.Column + 1).Activate
    End If
    End Sub
    Private Sub Label4_Click()
    ActiveCell.Value = Sheets("Tabelle2").Range("D8")
    Sheets("Tabelle2").Range("D8").Copy
    ActiveCell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Dim Zielbereich As Range
    Set Zielbereich = Sheets("Tabelle1").Range("C4:G23")
    If Intersect(ActiveCell, Zielbereich) Is Nothing Then
    Unload Me
    Else
    Cells(ActiveCell.Row, ActiveCell.Column + 1).Activate
    End If
    End Sub
    Private Sub Label5_Click()
    ActiveCell.Value = Sheets("Tabelle2").Range("D9")
    Sheets("Tabelle2").Range("D9").Copy
    ActiveCell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Dim Zielbereich As Range
    Set Zielbereich = Sheets("Tabelle1").Range("C4:G23")
    If Intersect(ActiveCell, Zielbereich) Is Nothing Then
    Unload Me
    Else
    Cells(ActiveCell.Row, ActiveCell.Column + 1).Activate
    End If
    End Sub
    Private Sub Label6_Click()
    ActiveCell.Value = Sheets("Tabelle2").Range("D10")
    Sheets("Tabelle2").Range("D10").Copy
    ActiveCell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Dim Zielbereich As Range
    Set Zielbereich = Sheets("Tabelle1").Range("C4:G23")
    If Intersect(ActiveCell, Zielbereich) Is Nothing Then
    Unload Me
    Else
    Cells(ActiveCell.Row, ActiveCell.Column + 1).Activate
    End If
    End Sub
    Private Sub Label7_Click()
    ActiveCell.Value = Sheets("Tabelle2").Range("D11")
    Sheets("Tabelle2").Range("D11").Copy
    ActiveCell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Dim Zielbereich As Range
    Set Zielbereich = Sheets("Tabelle1").Range("C4:G23")
    If Intersect(ActiveCell, Zielbereich) Is Nothing Then
    Unload Me
    Else
    Cells(ActiveCell.Row, ActiveCell.Column + 1).Activate
    End If
    End Sub
    Private Sub Label8_Click()
    ActiveCell.Value = Sheets("Tabelle2").Range("D12")
    Sheets("Tabelle2").Range("D12").Copy
    ActiveCell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Dim Zielbereich As Range
    Set Zielbereich = Sheets("Tabelle1").Range("C4:G23")
    If Intersect(ActiveCell, Zielbereich) Is Nothing Then
    Unload Me
    Else
    Cells(ActiveCell.Row, ActiveCell.Column + 1).Activate
    End If
    End Sub
    Private Sub Label9_Click()
    ActiveCell.Value = Sheets("Tabelle2").Range("D13")
    Sheets("Tabelle2").Range("D13").Copy
    ActiveCell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Dim Zielbereich As Range
    Set Zielbereich = Sheets("Tabelle1").Range("C4:G23")
    If Intersect(ActiveCell, Zielbereich) Is Nothing Then
    Unload Me
    Else
    Cells(ActiveCell.Row, ActiveCell.Column + 1).Activate
    End If
    End Sub
     
    Kobayashimaru, 11. Januar 2013
    #3
  4. Beverly
    Beverly Erfahrener User

    Userform unter Mauszeiger öffnen

    Hi,

    du hast an 2 Stellen Public X, Y stehen - einmal im Tabellenblatt und ein weiteres Mal im UserForm. Dadurch werden diese Variablen beim Starten des UserForms mit 0 belegt.


    Userform unter Mauszeiger öffnen grusz.gif
     
    Beverly, 11. Januar 2013
    #4
  5. Hi,

    sorry das ich jetzt erst antworte.

    Hab das leider nicht hinbekommen. Egal an welcher stelle ich Public X, Y weg nehme, bekomme ich eine Fehlermeldung. Hab mich jetzt damit abgefunden, dass die Userform in der mitte des Bildschirms angezeigt wird.

    Danke für eure Hilfe.
     
    Kobayashimaru, 17. Januar 2013
    #5
  6. Beverly
    Beverly Erfahrener User
    Hi,

    die Public-Variable gehört in ein allgemeines Modul.


    Userform unter Mauszeiger öffnen grusz.gif
     
    Beverly, 17. Januar 2013
    #6
  7. Moin,

    was steht denn in der Eigenschaft "StartUpPosition" der Forms? 1 = Fenstermitte? Habe das auf 0 = Manuell gestellt mit folgendem Code wird die Form direkt unterhalb der Maus angezeigt:

    Code:
    PS: Die .top und .left Werte sind schon die richtigen Eigenschaften. Sie bezeichnen die linke obere Ecke der Form und anhand der Height und Width Werte wird der Rest der Form dann berechnet.
    PPS: das Code:
    musste dann aber rausnehmen.
     
Thema:

Userform unter Mauszeiger öffnen

Die Seite wird geladen...
  1. Userform unter Mauszeiger öffnen - Similar Threads - Userform Mauszeiger öffnen

  2. Userform Login Benutzername in Zelle schreiben

    in Microsoft Excel Hilfe
    Userform Login Benutzername in Zelle schreiben: Hallo mal wieder ins Forum, ich habe mir nach einem Video ein Login nachgebaut. Das funktioniert auch einwandfrei. Hier der Code: Private Sub bttnAnmelden_MouseDown(ByVal Button As Integer, ByVal...
  3. Datum in Userform formatieren

    in Microsoft Word Hilfe
    Datum in Userform formatieren: Hallo! Ich habe folgende Herausforderung: Word 365. In einer Userform gibt es zwei Textboxen (TB_Datum und TB_Datum für Termin) In die Textbox TB_Datum soll ein Datum eingetragen werden können....
  4. UserForm zum bearbeiten von Tabellen und speichern

    in Microsoft Excel Hilfe
    UserForm zum bearbeiten von Tabellen und speichern: Guten Tag Ich habe leider ein Problem, das mich zur Verzweiflung bringt. Vielleicht findet hier jemand einen Lösung für mein Problem. Ich bekommen leider einen Laufzeitfehler '1004'. Zur...
  5. VBA Code Tabellenblatt kopieren und UserForm

    in Microsoft Excel Hilfe
    VBA Code Tabellenblatt kopieren und UserForm: Hallo, ich hoffe mir kann jemand helfen. Schon mal vielen Dank für die Unterstützung. Folgende Thematik: In dem Blatt 1 ist ein ComandButton. Mit Klick soll über VBA folgendes abgefragt...
  6. UserForm wechseln

    in Microsoft Excel Hilfe
    UserForm wechseln: Hallo Vorweg der Hinweis, dass ich ein VBA-Programm habe, welches von einem anderen erstellt wurde der mir nicht mehr zur Verfügung steht. Habe Erweiterungen bisher mühsam durch Zusammentragen von...
  7. Daten aus UserForm in Tabellenblatt übertragen

    in Microsoft Excel Hilfe
    Daten aus UserForm in Tabellenblatt übertragen: Hallo zusammen, wieder eine Anfängerfrage. Ich habe eine Userform, deren Daten über einen CommandButton zum Teil in zwei Tabellenblätter übertragen werden. Wie kann ich es verhindern, dass dabei...
  8. userform schliessen, Inhalt soll erhalten bleiben

    in Microsoft Excel Hilfe
    userform schliessen, Inhalt soll erhalten bleiben: Guten Morgen, ich hoffe ich kann das verständlich erklären. Ich habe zwei Userformen. Zuerst ist nur Userform1 geöffnet. Über einen CommandButton in UF1 wird dann Userform2 geöffnet. Über einen...
  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