Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1232to1236
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
Inhaltsverzeichnis

Mausposition auslesen

Mausposition auslesen
Linus
Hallo ins Forum,
Des öfteren muß ich Kurven aus Diagrammen in Excel-Tabellen abbilden um damit weiterzuarbeiten. Hierzu nehme ich die "Lineal anlegen / x,y-Werte entlang der Kurve ablesen / In Excel eintippen" Methode. Damit erziele ich eine Tabelle von mehreren Datenpunkten mit denen ich weiterarbeiten kann.
Dies ist aber zu zeitaufwendig. Was ich mir vorstelle ist, die Kurven einzuscannen und in Excel als dumme Grafik zu hinterlegen. Dann zuerst den 0,0 Ursprung des Diagramms mit der Maus anklicken. Daraufhin den höchsten x (0,x) und den höchsten y-Wert (y, 0) auf den Koordinatenachsen anklicken und dazu die Werte nennen. So sollte es möglich sein, einen Maßstab für alle nachfolgenden Mausklicks entlang der Kurven im Diagramm zu definieren.
Was ich zunächst nicht in den Griff bekomme ist beim Klick auf eine Grafik eine Mausposition auszulesen. Habe online etwas gefunden wie ich eine Pixelzahl auslese, aber auch das klappt nur, wenn man in Zellen klickt, nicht jedoch wenn man auf eine Grafik klickt.
Habt Ihr einen Tipp oder gar einen Roh-Code zum anpassen? Ist das Vorhaben schwieriger als gedacht?
Gruß
Linus

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

Betreff
Benutzer
Anzeige
AW: Mausposition auslesen
12.10.2011 22:21:53
Uduuh
Hallo,
als erstes füge in deine Tabelle ein Image-Control ein. Dessen Picture-Eigenschaft weist du den Scan zu.
Dann brauchst du noch einen CommandButton, um die Erfassung zu beenden. Beide aus der Steuerelemente-Toolbox.
Die ersten 3 Klicks machst du zur Skalierung, den Rest entlang der Kurve. Kannst du dann ja in der Tabelle entsprechend umrechnen.
Im Code der Tabelle:

Option Explicit
Dim iClicks As Integer, arrClicks(1 To 100, 1 To 2), xPos As Single, YPos As Single
Private Sub CommandButton1_Click()
Range("A:B").ClearContents
Cells(1, 1).Resize(iClicks, 2) = arrClicks
iClicks = 0
Erase arrClicks
End Sub
Private Sub Image1_Click()
iClicks = iClicks + 1
arrClicks(iClicks, 1) = xPos
arrClicks(iClicks, 2) = YPos
End Sub
Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
xPos = X
YPos = Y
End Sub

Gruß aus’m Pott
Udo

Anzeige
Anmerkung
12.10.2011 22:48:51
Uduuh
Hallo,
du musst das Diagramm narürlich gerade einscannen.
Ansonsten (wenn Y von X-Max Y von 0|0) musst du es rechnerisch drehen. Geht dann nicht mehr einfach durch Subtraktion von 0|0 und Dreisatz. Das ist dann aber ein mathematisches Problem.
Gruß aus’m Pott
Udo

Anzeige
AW: Mausposition auslesen
12.10.2011 23:54:13
Josef

Hallo Linus,
https://www.herber.de/bbs/user/76977.xls
ein Beispiel, wie man das lösen könnte. Du benötigst eine Grafikdatei des Diagramms.

« Gruß Sepp »

Vergessen!
12.10.2011 23:56:03
Josef

Hallo Linus,
ich habe vergessen, dem Button auf der Tabelle das Makro "showForm" zuzuweisen.

« Gruß Sepp »

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige