Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mausklick registrieren

Mausklick registrieren
03.11.2008 16:54:59
S.
Hallo zusammen,
ich möchte auf einer geöffneten Userform einen einfachen Mausklick (kein Doppelklick) registrieren, etwa so:
If "linke Maustaste gedrückt", dann msgbox "Geht doch!"
Dabei spielt es keine Rolle, ob der Mausklick auf der Userform erfolgt oder daneben.
Ich hoffe, die Frage war nicht zu verwirrend. Vielen Dank für die Hilfe!
S. Mett
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mausklick registrieren
03.11.2008 17:30:31
ransi
HAllo
Wenn der Click auf Userform geamcht wird, wirds einfach.
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit


Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Select Case Button
    Case 1: MsgBox "Links"
    Case 2: MsgBox "Rechts"
    Case 4: MsgBox "Mitte"
End Select
End Sub

ransi
Anzeige
AW: Mausklick registrieren
03.11.2008 21:24:48
S.
Danke, das ist es!
Stephan
Mausklick registrieren
04.11.2008 10:30:00
S.
Mmm, der Test hat funktioniert, die Praxis wirft neue Probleme auf:
Ich habe in einer Userform einen Frame, der automatisch mit Textboxes und Optionbuttons bestückt wird. Klicke ich auf die reine Userform, gibts die entsprechende Rückmeldung. Klicke ich aber auf die Textboxes bzw. Optionbuttons, kommt nix. Fehlanzeige.
Hat jemand eine Idee? Mir reicht eigentlich eine Msgbox egal wohin geklickt wird, aber es soll immer eine kommen, wenn geklickt wird.
Danke vorab.
Stephan
Anzeige
Klassenmodule ?
04.11.2008 18:17:00
ransi
HAllo Stephan
Ich wage mich mal in die Welt der Klassen Programmierung.
Jede Menge OptionButtons und TextBoxen in vielen Frames auf deiner Userform:
Versuch mal dies:
' **********************************************************************
' Modul: clsControls Typ: Klassenmodul
' **********************************************************************

Option Explicit



Public WithEvents DieTBs As MSForms.TextBox
Public WithEvents DieOBs As MSForms.OptionButton


Private Sub DieOBs_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Select Case Button
    Case 1: MsgBox "Linke Maus auf " & DieOBs.Name & vbCrLf & DieOBs.Parent.Name
    Case 2: MsgBox "Rechte Maus auf " & DieOBs.Name & vbCrLf & DieOBs.Parent.Name
    Case 4: MsgBox "Mittlere Maus auf " & DieOBs.Name & vbCrLf & DieOBs.Parent.Name
End Select
End Sub

Private Sub DieTBs_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Select Case Button
    Case 1: MsgBox "Linke Maus auf " & DieTBs.Name & vbCrLf & DieTBs.Parent.Name
    Case 2: MsgBox "Rechte Maus auf " & DieTBs.Name & vbCrLf & DieTBs.Parent.Name
    Case 4: MsgBox "Mittlere Maus auf " & DieTBs.Name & vbCrLf & DieTBs.Parent.Name
End Select
End Sub

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

Option Explicit

Dim varTB() As New clsControls
Dim varOB() As New clsControls


Private Sub UserForm_Initialize()
Dim i As Integer
Dim L As Integer
Dim ctrl As MSForms.Control
Dim objTB As MSForms.TextBox
Dim objOB As MSForms.OptionButton
For Each ctrl In Me.Controls
    Select Case TypeName(ctrl)
        Case "TextBox"
            Redim Preserve varTB(i)
            Set varTB(i).DieTBs = ctrl
            i = i + 1
        Case "OptionButton"
            Redim Preserve varOB(L)
            Set varOB(L).DieOBs = ctrl
            L = L + 1
    End Select
Next
End Sub

ransi
Anzeige
Mausklick registrieren
06.11.2008 12:42:32
S.
Nochmal hallo!
Wenn ich den Code so übernehme, kriege ich Fehlermeldungen in meinem bisherigen Code. Gibt es nicht eine gaaaaaaanz einfache Lösung, die einen Mausklick erkennt - völlig egal, ob auf der Userform oder auf den Optionbuttons der Userform oder eben neben der Userform?
Danke vorab.
Stephan
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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