Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Pixel Position in einem Diagramm | Herbers Excel-Forum


Betrifft: Pixel Position in einem Diagramm von: Andreas
Geschrieben am: 02.01.2010 14:46:15

Hallo,

kann mir jemand erklären, wie man die X/Y Position eines Punktes in einem Diagramm rausfinden kann.
also soetwas wie
Sheets("Daten").ChartObjects("Diagramm 1").Chart.SeriesCollection(1).Points(10).X

es hat den hintergrund dass dieses diagramm als Bild in eine Userform lade und die Mausposition mit den Positionen der Punkte im Diagramm verglichen werden sollen. (wenn der User in die nähe kommt soll der Mauszeiger verändert werden und wenn er draufklickt sollen dazugehörige Infos angezeigt werden)

Viele Grüße Andi

  

Betrifft: AW: Pixel Position in einem Diagramm von: Andreas
Geschrieben am: 02.01.2010 16:32:28

Nachtrag: Die Punkte liegen alle genau auf der x Achse (z.b. (3,0))


  

Betrifft: Frage Noch offen von: Andreas
Geschrieben am: 02.01.2010 16:33:36

Entschuldigung für den erneuten post ich habe vergessen die frage noch offen zu lassen


  

Betrifft: AW: Frage Noch offen von: Renee
Geschrieben am: 02.01.2010 18:04:38

Hi Andreas,

Guck doch mal ins Archiv unter "Diagrammpunkte".

GreetZ Renée


  

Betrifft: AW: Frage Noch offen von: Andreas
Geschrieben am: 02.01.2010 21:52:42

Es geht ja nicht um die x,y koordinaten sonder um die bildschirm x,y werte


  

Betrifft: X,Y Mousepointer on Screen von: Renee
Geschrieben am: 03.01.2010 12:38:51

Hi Andreas,

...um die bildschirm x,y werte 

... davon war bis jetzt aber nicht die Rede ;-(

Das wird aber kompliziert, diese Werte dann mit der UF-Position und dem Diagramm innerhalb derselben zu korrelieren... na, dann viel Vergnügen:
' Code in ein Modul:
Private Declare Function GetCursorPos Lib "user32" (cPoint As ptAPI) As Long
Private Type ptAPI
    xPos As Long
    yPos As Long
End Type

Sub ShowCursorPos()
    Dim lngTmp As Long
    Dim tPoint As ptAPI
    lngTmp = GetCursorPos(tPoint)
    MsgBox "X:" & tPoint.xPos & _
           "Y:" & tPoint.yPos
End Sub
GreetZ Renée


  

Betrifft: AW: X,Y Mousepointer on Screen von: Andreas
Geschrieben am: 03.01.2010 17:06:56

Danke. die X,Y werte der maus hab ich schon sogar auch schon im bezug zum diagramm anfang.

hab ne idee die garnich so schlecht klingt

ich weiß wie mein diagramm skaliert ist (Y-Min=-4 Y-Max=6) ich weiß wie hoch mein diagramm ist z.b. 600px und wieviel davon für den rand weggeht (z.b. 100px; 50 oben 50 unten) dh. ich hab 500px die ich auf 10 einheiten aufteilen muss also ist eine einheit 50px hoch dh. von oben bis zur X-Achse sind es 50rand+50*6 also ist die X-Achse bei 350px

das ganze noch für die Y-Achse und ich kann genau sagen welche Pixel welcher punkt sind

wenn jemandem noch was besseres einfällt möge er sich bitte rühren

danke Andi


  

Betrifft: Nachkommastellen werden nicht berechnet von: Andreas
Geschrieben am: 03.01.2010 17:39:11

So habe jetzt mal eine Funktion dazu geschrieben aber diese zeigt mir nur ganze werte an.
kann mir jemand sagen warum sie mir keine nachkommastellen anzeigt?
z.b. laut meinem taschenrechner ist 199/4=49,75 und nicht 50
(wie debug.print Pix_per_real für Pix_real=199 und Distance_normal =4 anzeigt) ich verstehs einfach nicht.
Integer kann doch 10 Nachkommastellen!?
[code]

Function pixel_to_normal(Pix_all As Integer, pix_waste_up As Integer, Pix_waste_down_as_integer, _
 Pix_Test As Integer, normal_start As Integer, normal_end As Integer) As Integer
    
    Dim Pix_real As Integer
    Dim Distance_normal As Integer
    Dim Pix_per_normal As Integer
    Dim Pix_test_minus_waste As Integer
    Dim Normal_test_minus_waste As Integer
    
    Pix_real = Pix_all - pix_waste_up - pix_waste_down
    Distance_normal = normal_end - normal_start
    Pix_per_normal = Pix_real / Distance_normal
    Normal_test_minus_waste = Pix_test_minus_waste / Pix_per_normal
    
    pixel_to_normal = normal_end - Normal_test_minus_waste
End Function

[/code]

Danke für eure Hilfe, ist übrigens für meine Facharbeit


  

Betrifft: AW: Nachkommastellen werden nicht berechnet von: Andreas
Geschrieben am: 03.01.2010 17:40:36

Frage noch offen...


  

Betrifft: AW: Nachkommastellen werden nicht berechnet von: Andreas
Geschrieben am: 03.01.2010 17:54:36

Geklärt danke für die hilfe


  

Betrifft: AW: Nachkommastellen werden nicht berechnet von: Gerd L
Geschrieben am: 03.01.2010 17:58:42

Hallo Andreas,

für Werte mit Nachkommastellen gibt es die Variablentypen Single, Double u. Currency.

Weiteres findest Du hierzu in der VBA-Hilfe.

Dann war da noch etwas mit "Pixels to Points" .... ; ist aber nicht mein Ding.

Gruß Gerd




Beiträge aus den Excel-Beispielen zum Thema "Pixel Position in einem Diagramm"