Microsoft Excel

Herbers Excel/VBA-Archiv

RightClick UND SelectionChange zusammen | Herbers Excel-Forum


Betrifft: RightClick UND SelectionChange zusammen von: born
Geschrieben am: 27.12.2009 18:43:06

Hallo und guten Abend,

ich möchte in einem Bereich meinter Tabelle das Rightclick-Ereignis aktivieren, damit
etwas passiert, wenn die rechte Maustaste gedrückt wird und ein SelectionChange-Ereignis,
damit ich etwas mit der Linken Maustaste starten kann.
Weil aber die Rechte Maustaste gleichzeitig ein SelectionChange ist, wird dort mein Ereignis immer
ZWEIMAL gestartet.
Wie kann ich beim Right Click verhindern, daß SelectionChange aktiviert wird?
Oder gibt es noch eine einfachere, besser Möglichkeit, das alles zu aktivieren?

Gruß und Dank,

Born

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Dim Bereich As Range
    Set Bereich = Range("AG9:BU1000")
    Cancel = True
    If Intersect(Target, Bereich) Is Nothing Then
    Exit Sub
    Else
    EnterZahl
    Target.Interior.ColorIndex = 3
    End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Bereich As Range
    Set Bereich = Range("AG9:BU1000")
    If Intersect(Target, Bereich) Is Nothing Then
    Exit Sub
    Else
    EnterZahl
    Target.Interior.ColorIndex = 7
    End If
End Sub

  

Betrifft: AW: RightClick UND SelectionChange zusammen von: Gerd L
Geschrieben am: 27.12.2009 18:55:08

Hallo born,

nehme statt SelectionChange das BeforeDoubleClick.

Dann tritt dieses Zusammenspiel nicht ein.

Gruß Gerd


  

Betrifft: AW: EINFACHER Click? von: born
Geschrieben am: 27.12.2009 19:05:48

Hallo Gerd,

danke, aber es soll unbedingt ein EINFACHER KLICK sein. Gibt es da doch noch
eine Möglichkeit?

born


  

Betrifft: AW: EINFACHER Click? von: Josef Ehrensberger
Geschrieben am: 27.12.2009 19:26:02

Hallo Born,

probier mal.

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

Option Explicit

Private Declare Function GetAsyncKeyState Lib "user32" _
  (ByVal vKey As Long) As Integer

Const VK_RBUTTON = &H2 'Right mouse button

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  Dim Bereich As Range
  
  Set Bereich = Range("AG9:BU1000")
  
  Cancel = True
  
  If Not Intersect(Target, Bereich) Is Nothing Then
    EnterZahl
    Target.Interior.ColorIndex = 3
  End If
  
  Set Bereich = Nothing
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Dim Bereich As Range
  Dim lngRet As Long
  
  lngRet = GetAsyncKeyState(VK_RBUTTON)
  
  If lngRet = 0 Then
    Set Bereich = Range("AG9:BU1000")
    If Not Intersect(Target, Bereich) Is Nothing Then
      EnterZahl
      Target.Interior.ColorIndex = 7
    End If
  End If
  
  Set Bereich = Nothing
End Sub



Gruß Sepp



  

Betrifft: AW: EINFACHER Click? von: born
Geschrieben am: 27.12.2009 21:31:03

Danke, Sepp.

Das wars.

Born

Nicht dringend, aber falls Du das noch lesen solltest: Wenn der Cursor nach einer Aktion in einer
Zelle drinsteht: Gibt es eine andere Möglichkeit, die Zelle von der Aktivierung oder Selection zu befreien,
als eine ganz andere Zelle zu selektieren?


  

Betrifft: AW: EINFACHER Click? von: Josef Ehrensberger
Geschrieben am: 27.12.2009 23:00:48

Hallo Born,

nein, das geht nicht.


Gruß Sepp



  

Betrifft: AW: EINFACHER Click? von: born
Geschrieben am: 27.12.2009 23:39:44

Tank you well,

born


Beiträge aus den Excel-Beispielen zum Thema "RightClick UND SelectionChange zusammen"