Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: X-Y Diagramm Datenpunkt Zellbezug auslesen

X-Y Diagramm Datenpunkt Zellbezug auslesen
Christian
Hi Leute,
gibt es in VBA eine Möglichkeit, von einem Datenpunkt den Verweis auf den zugehörigen Zellbereich z.B. des X-Wertes zu ermitteln? Das ermitteln des XWertes selbst funktioniert ganz gut (siehe Listing).
Ich bräuchte aber den Verweis des zugehörigen XWertes, also in etwas sowas wie:
"=Tabelle1!A4"
Kann mir jemand weiterhelfen?
Danke und Gruss
Christian
---------------------------------------------------------

Sub Punkt_auslesen()
Dim i, actSerie, DArray, vReihe, vPunkt As Variant
Dim strReihe As String
Dim Serie As Series
Dim Punkt As Point
ActiveWorkbook.Sheets("Diagramm1").Select
strReihe = CStr(InputBox("Bitte Reihennamen eingeben: "))
vPunkt = InputBox("Bitte Punktnummer eingeben: ")
actSerie = 0
For Each Serie In ActiveChart.SeriesCollection
actSerie = actSerie + 1
If Serie.Name = strReihe Then
With ActiveChart.SeriesCollection(actSerie)
DArray = .XValues
For Each Punkt In .Points
i = i + 1
MsgBox DArray(i)
If CStr((DArray(i))) = CStr(vPunkt) Then
MsgBox "Punkt gefunden!"
Punkt.Select
Exit Sub
End If
Next
End With
End If
Next
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: X-Y Diagramm Datenpunkt Zellbezug auslesen
K.Rola
Hallo,
das ist nicht schwierig, nur reine Fleißarbeit. Die Seriescollection
hat ja eine Formel. Die liest du aus und trimmst sie mit den bekannten
Textfunktionen Left, Mid, Right zurecht. Dann hast du die Tabelle
und die Zellen. Der Rest dürfte klar sein.
Gruß K.Rola
AW: X-Y Diagramm Datenpunkt Zellbezug auslesen
Christian
Hi K.Rola,
danke für deine Antwort. Kannst du mir ein Codeschnipsel für deine Idee liefern.
Genau an diesem Problem hänge ich nun schon seit einiger Zeit und komme einfach nicht weiter.
Wäre für jeden weiterführenden Hinweis wirklich dankbar.
Gruss Christian
Anzeige
AW: X-Y Diagramm Datenpunkt Zellbezug auslesen
K.Rola
Hallo,
so bekommst du den Bezug, der Rest ist wie gesagt Fleißarbeit, zu der
ich aber keine Lust habe.
Option Explicit
Option Base 1

Sub Datenquelle()
Dim arrXVal, arrYVal, arrXPoints, arrYPoints
Dim shtQuelle As Variant, rngX As Variant, rngY As Variant
Dim cht As Chart, bolVirtuellX As Boolean, x As Long, Reihe As Series
Set cht = ActiveSheet.ChartObjects(1).Chart
Set Reihe = cht.SeriesCollection(1)
rngX = Reihe.Formula
MsgBox rngX
End Sub

Gruß K.Rola
Anzeige
AW: X-Y Diagramm Datenpunkt Zellbezug auslesen
26.04.2004 19:50:37
Christian
Hi K. Rola,
danke nochmals für deine Hinweise. Nach einem Tip von Ulf, habe ich das ganze jetzt über ein Klassenmodul realisiert. Damit ist es möglich, Mausereignisse abzufangen und via GetChartElement sowohl den Index des SeriesObjects, als auch den Index des Datenpunktes auszulesen.
Danke nochmals für deine Vorschläge.
Gruss Christian
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

X-Y Diagramm: Datenpunkt Zellbezug auslesen


Schritt-für-Schritt-Anleitung

Um den Zellbezug eines Datenpunkts in einem X-Y Diagramm in Excel auszulesen, kannst du den folgenden VBA-Code verwenden. Dieser Code ermöglicht es dir, die X-Werte eines bestimmten Datenpunkts zurückzugeben und den Bezug zu ermitteln.

Sub Punkt_auslesen()
    Dim i As Long, actSerie As Long, DArray As Variant, vPunkt As Variant
    Dim strReihe As String
    Dim Serie As Series
    Dim Punkt As Point
    ActiveWorkbook.Sheets("Diagramm1").Select
    strReihe = CStr(InputBox("Bitte Reihennamen eingeben: "))
    vPunkt = InputBox("Bitte Punktnummer eingeben: ")
    actSerie = 0
    For Each Serie In ActiveChart.SeriesCollection
        actSerie = actSerie + 1
        If Serie.Name = strReihe Then
            With ActiveChart.SeriesCollection(actSerie)
                DArray = .XValues
                For i = LBound(DArray) To UBound(DArray)
                    MsgBox DArray(i)
                    If CStr(DArray(i)) = CStr(vPunkt) Then
                        MsgBox "Punkt gefunden!"
                        Punkt.Select
                        Exit Sub
                    End If
                Next i
            End With
        End If
    Next Serie
End Sub

Häufige Fehler und Lösungen

  1. Fehler: "Punkt nicht gefunden"

    • Lösung: Stelle sicher, dass der eingegebene Punkt tatsächlich im Diagramm vorhanden ist. Überprüfe die Schreibweise des Reihennamens und der Punktnummer.
  2. Fehler: Diagramm nicht ausgewählt

    • Lösung: Vergewissere dich, dass das Diagramm, aus dem du die Daten auslesen möchtest, aktiv und korrekt ausgewählt ist.

Alternative Methoden

Neben VBA kannst du auch die Excel-Funktionalitäten nutzen, um Daten aus einem Diagramm zu extrahieren. Du kannst die Formeln in der SeriesCollection verwenden und mit Textfunktionen (wie LEFT, MID, RIGHT) den Zellbezug extrahieren.

Sub Datenquelle()
    Dim rngX As Variant
    Dim Reihe As Series
    Set Reihe = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
    rngX = Reihe.Formula
    MsgBox rngX
End Sub

Praktische Beispiele

Wenn du ein X-Y Diagramm hast und den Zellbezug des X-Wertes eines bestimmten Datenpunkts ermitteln möchtest, führe die obigen Schritte aus. Verwende die Funktion MsgBox, um die X-Werte anzuzeigen, damit du den richtigen Punkt auswählen kannst.


Tipps für Profis

  • Nutze Klassenmodule, um Mausereignisse abzufangen. Damit kannst du den Index des SeriesObjects und des Datenpunkts effizient auslesen.
  • Verwende GetChartElement, um detaillierte Informationen über die Position und den Wert eines Datenpunkts zu erhalten.

FAQ: Häufige Fragen

1. Wie kann ich die X-Werte direkt in eine Excel-Zelle übertragen?
Du kannst die X-Werte aus dem Diagramm mit VBA in eine Zelle schreiben, indem du den Range-Objekt verwendest.

2. Funktioniert dieser Ansatz in allen Excel-Versionen?
Ja, die beschriebenen Methoden sollten in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige