Anzeige
Archiv - Navigation
452to456
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
452to456
452to456
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Probleme mit Beispielcode...

Probleme mit Beispielcode...
12.07.2004 09:47:54
Karsten
Guten Morgen zusammen,
ich habe mir nachfolgenden Codeschnipsel aus dem Archiv genommen und ausprobiert. Leider funktioniert das bei mir nicht. Beim zweiten Click werden die Mauskoordinaten nicht unter die des ersten Clicks (sondern in Zeile 25) geschrieben. Beim dritten und allen nachfolgenden Clicks werden die Koordinaten des zweiten Clicks überschrieben (Einträge immer in zeile 25). Wie kommt das? Wie kann ich es erreichen, daß sämtliche Clicks in eine Liste unterienander geschrieben werden?
Danke schon mal
Karsten
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
x As Long
y As Long
End Type

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim pTargetPoint As POINTAPI
Dim Ret_Val As Long
Dim NaechsteZelle As Long
Ret_Val = GetCursorPos(pTargetPoint)
aktion = MsgBox("Meine Position:" & Chr(10) & _
"x: " & pTargetPoint.x & " / y: " & pTargetPoint.y & Chr(10) & _
"speichern?", vbYesNo)
If aktion = vbYes Then
If IsEmpty(Sheets("Daten1").Cells(2, 2)) Then
NaechsteZelle = 2
Else
'funktioniert nur wenn zelle 65536 noch leer ist
NaechsteZelle = Cells(Rows.Count, 2).End(xlUp).Row + 1
End If
Sheets("Daten1").Cells(NaechsteZelle, 2) = pTargetPoint.x
Sheets("Daten1").Cells(NaechsteZelle, 3) = pTargetPoint.y
End If
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Beispielcode...
12.07.2004 09:57:22
Matthias
Hallo Carsten,
wenn der Rechtsklick in einem anderen Blatt als "Daten1" stattfinden, musst Du folgendes ändern:
If aktion = vbYes Then
If IsEmpty(Sheets("Daten1").Cells(2, 2)) Then
NaechsteZelle = 2
Else
'funktioniert nur wenn zelle 65536 noch leer ist
NaechsteZelle = Sheets("Daten1").Cells(Rows.Count, 2).End(xlUp).Row + 1
End If
Sheets("Daten1").Cells(NaechsteZelle, 2) = pTargetPoint.x
Sheets("Daten1").Cells(NaechsteZelle, 3) = pTargetPoint.y
End If
Gruß Matthias
P.S. Wenn das Kontextmenü nicht errscheinen soll, "Cancel = True" einfügen.
Anzeige
AW: Probleme mit Beispielcode...
Karsten
Zunächst mal herlichen Dank,
ich versuchs sofort aus.
Karsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige