Makro bei Mausklick nicht per Tastatur

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Makro bei Mausklick nicht per Tastatur
von: kretzing
Geschrieben am: 07.03.2005 18:16:46
Hallo zusammen,
ich möchte gerne, dass ein Makro nur dann ausführt wird, wenn eine Zelle per linker Maustaste angeklickt wird und nicht wenn man die Zelle per Tastatur anwählt. Gibt es da etwas vergleichbares zu BeforeRightClick oder kann man es dann nur per Doppelklick lösen?
Vielen Dank!
Gruß
André

Bild

Betrifft: AW: Makro bei Mausklick nicht per Tastatur
von: Hajo_Zi
Geschrieben am: 07.03.2005 18:21:37
Hallo André,
linker Mausclick löst
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
aus

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Bild

Betrifft: AW: Makro bei Mausklick nicht per Tastatur
von: Matthias G
Geschrieben am: 07.03.2005 18:39:46
Hallo André,
Excel unterscheidet da nicht zwischen Cursorbewegung und Mausklick.
Das Selection_Change()-Ereignis kann aber nutzen, wenn man die Cursorbelegung gewissermaßen "umbaut":
Sub UmstellungAn()
Application.OnKey "{LEFT}", "GoLeft"
Application.OnKey "{RIGHT}", "GoRight"
Application.OnKey "{UP}", "GoUp"
Application.OnKey "{DOWN}", "GoDown"
End Sub
Sub UmstellungAus()
Application.OnKey "{LEFT}"
Application.OnKey "{RIGHT}"
Application.OnKey "{UP}"
Application.OnKey "{DOWN}"
End Sub
Sub GoLeft()
On Error Resume Next
Application.EnableEvents = False
ActiveCell.Offset(0, -1).Select
Application.EnableEvents = True
End Sub
Sub GoRight()
On Error Resume Next
Application.EnableEvents = False
ActiveCell.Offset(0, 1).Select
Application.EnableEvents = True
End Sub
Sub GoUp()
On Error Resume Next
Application.EnableEvents = False
ActiveCell.Offset(-1, 0).Select
Application.EnableEvents = True
End Sub
Sub GoDown()
On Error Resume Next
Application.EnableEvents = False
ActiveCell.Offset(1, 0).Select
Application.EnableEvents = True
End Sub
Wobei hier immer noch die Varianten mit Shift sowie die ganzen anderen Bewegungstasten wie Pos1, Ende usw. fehlen.
Wenn du Lust hast, kannst du die ja alle anders belegen... mir wäre das allerdings zu aufwendig, ich würde den Doppel- oder Rechtsklick nehmen.
Gruß Matthias
Bild

Betrifft: AW: Makro bei Mausklick nicht per Tastatur
von: Kretzing
Geschrieben am: 07.03.2005 18:49:33
Hallo Matthias,
ich habe beim Doppelklick lediglich das Problem, dass er dann auch die Zelle aktiviert und den Cursor in diese Zelle positioniert. Kann ich das vermeiden?
Vielen Dank!
Gruß
André
Bild

Betrifft: AW: Makro bei Mausklick nicht per Tastatur
von: Hajo_Zi
Geschrieben am: 07.03.2005 18:52:29
Hallo Andre

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Address = "$A$1" Then Cancel = True
End Sub

Gruß Hajo
Bild

Betrifft: AW: Makro bei Mausklick nicht per Tastatur
von: Franz D.
Geschrieben am: 07.03.2005 19:10:40
Hallo André!
Kopiere folgende SUB in mindestens 4 Tabellen.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target_ANFANG = "$A$1"
Target_ENDE = "$B$1"
Target_ZURÜCK = "$C$1"
Target_WEITER = "$D$1"
Anz = Sheets.Count
Ind = ActiveSheet.Index
Select Case Target.Address
    Case Target_ANFANG
        Sheets(1).Select
    Case Target_ENDE: Sheets(Anz).Select
    Case Target_ZURÜCK
        If Ind = 1 Then
            Sheets(1).Select
            Exit Sub
        End If
        Sheets(Ind - 1).Select
    Case Target_WEITER
        If Ind = Anz Then
            Sheets(Anz).Select
            Exit Sub
        End If
        Sheets(Ind + 1).Select
    Case Else
End Select
MsgBox ("Sprung in " & ActiveSheet.Name)
End Sub

Per Doppelclick im bereich A1 bis A4 kann man hier "navigieren". Natürlich solltest du daraus sinnvolleres gestalten. Tipp: Die SUB umschreiben auf Modul-Ebene und somit global benutzen.
So long!
Franz D.
Bild

Betrifft: Danke!
von: Kretzing
Geschrieben am: 07.03.2005 19:33:35
Vielen Dank für Eure schnelle Hilfe!
Ich wünsche Euch noch einen schönen Abend!
Schöne Grüße

André
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Makro bei Mausklick nicht per Tastatur"