Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Punkt (X/Y) Diagramm
28.05.2009 10:17:02
Rudi
Hallo Excel-Experten,
ich habe ein kleines Darstellungsproblem (leider kann ich hier keine Dateien hoch laden). Daher der Versuch einer Beschreibung.
In Spalte R49 bis R119 werden Erlöse dargestellt (jede Zeile ist eine Stadt) und in Spalte S49 bis S119 sind dazugehörige Fahrten abgebildet.
In Spalte Q stehen von Zeile Q49 bis Q119 die dazugehörigen Städtenamen. Nun kann es sein, dass es auch Städte mit keinen Angaben gibt.
Hieraus habe ich eine Grafik gemacht. Punkt (X/Y). X-Werte sind Spalte R und Y-Werte sind Spalte S. Die Datenpunkte zur Marktausschöpfung werden auch richtig angezeigt.
Mein Problem ist, dass ich gerne die Städtenamen an den Datenpunkten als Beschriftung haben möchte. Das kriege ich leider nicht hin.
Geklappt hat es, als ich für jede Stadt eine Datenreihe gemacht habe und dieser Reihe dann jeweils eine Stadt als Namen zuordne. Das ist aber total umständlich, denn ich muss dann ja jeden Datenpunkt etc. einzeln formatieren.
Gibt es da nicht eine clevere Lösung?
Vielen Dank für eure Hilfe.
Rudi

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Punkt (X/Y) Diagramm
28.05.2009 11:30:50
Michael
Kleine Beispieldatei mit Beispielwerten wäre echt hilfreich.
Gruß
Michael
AW: Punkt (X/Y) Diagramm
28.05.2009 12:59:21
Rudi
Ich habe extra geschrieben, dass ich leider hier keine Daten laden kann - wird durch unsere EDV verhindert. Sonst hätte ich es gerne gemacht. Darum ja die ausführliche Beschreibung.
AW: Punkt (X/Y) Diagramm
28.05.2009 13:20:16
Beverly
Hi Rudi,
das kannst du mit diesem Makro machen:

Sub DatenreihenBeschriftung()
Dim inPunkt As Integer
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(2)
For inPunkt = 1 To .Points.Count
.Points(inPunkt).DataLabel.Text = Worksheets("Tabelle1").Cells(inPunkt + 48, 17) '  _
Tabellenname anpassen
Next inPunkt
End With
End Sub




Anzeige
AW: Punkt (X/Y) Diagramm
28.05.2009 13:45:55
Rudi
Hallo Karin.
Danke erst einmal. Kommt aber ein Debug-Fehler.
Habe den Tab-Namen angepasst an meinen Registernamen. Aber worüber wird denn gesteuert, dass bzw. woher die Städtenamen kommen? Steh da auf dem Schlacuh. Leider
AW: Punkt (X/Y) Diagramm
28.05.2009 15:54:43
Beverly
Hi Rudi,
ist dein Diagramm ein in das Tabellenblatt eingebettetes Diagrammobjekt oder ein Diagrammblatt? Hast du die Beschriftungslabel der 2. Datenreihe eingeblendet?
Die Namen werden aus Spalte Q ab Zeile 49 ausgelesen - so wie du das in deinem Eröffnungsbeitrag geschrieben hattest:
eine Zellangabe kann mittels Cells(Zeile, Spalte) gemacht werden und Cells(inPunkt + 48, 17) bedeutet fortlaufende Zeile in Spalte Q (17). Da der Schleifenzähler inPunkt zu Beginn 1 ist, muss 48 addiert werden.


Anzeige
AW: Punkt (X/Y) Diagramm
28.05.2009 21:23:50
Rudi
Hallo Karin.
Kann jetzt von zu Hause hier was laden. Anbei ein Beispiel (musste ein paar Zeilen und Spalten löschen). Danke für die Hilfe.
https://www.herber.de/bbs/user/62108.xls
Rudi
AW: Punkt (X/Y) Diagramm
28.05.2009 22:03:18
Beverly
Hi Rudi,
1. in deinem Betrag stand, dass du 2 Datenreihen im Diagramm hast, es ist aber nur nur eine. Also muss es heißen SeriesCollection(1) und nicht SeriesCollection(2)
2. ich hatte geschrieben, du musst die Beschriftungslabel einblenden - das hast du nicht gemacht, dann müssen sie per Code zuerst eingeblendet werden
3. der Tabellenname ist falsch, es fehlt ein "s"- Marktausschöpfung. Um derartige Fehler auszuschließen ist es immer zweckmäßig, den Namen des Tabellenblattes zu kopieren und in den Code einzufügen.
4. Spalte Q ist leer
Der angepasste Code:

Sub DatenreihenBeschriftung()
Dim inPunkt As Integer
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
.ApplyDataLabels
For inPunkt = 1 To .Points.Count
.Points(inPunkt).DataLabel.Text = Worksheets("Marktausschöpfung").Cells(inPunkt +   _
_
48, 17)
End With
End Sub




Anzeige
AW: Punkt (X/Y) Diagramm
28.05.2009 22:10:52
Rudi
Hallo Karin.
Danke für die Ausführungen. Bin da leider Laie und stelle mich wohl arg dumm an. Sorry.
Genau, ich musste die Tabelle etwas anpassen. Daher ist jetzt Spalte C (=Q). Dort habe ich erstmal nur Zahlen eingetragen - muss ja niemand die Stäfte zu wissen.
Es kommt jetzt ein End with Fehler.
AW: Punkt (X/Y) Diagramm
29.05.2009 10:00:46
Beverly
Hi Rudi,
bei mir kommt kein Fehler:
https://www.herber.de/bbs/user/62115.xls
Wenn du nicht die Originalnamen verwenden willst/kannst, hättest du zumindest irgendwelche Fantasienamen in Spalte Q eintragen können. Wenn man eine Frage stellt, sollte man in der hochgeladenen Datei zumindest die Bedingungen analog der Originaldatei (auf die man ja in der Frage Bezug genommen hat) gestalten. Oder man sollte wenigstens im Beitrag einen Hinweis geben was man verändert hat. Damit erleichtert man dem Helfenden, Fragen zielgerichtet und genau auf das Problem zugeschnitten beantworten zu können. Nur du allein kennst die Originaldatei und wer soll schon erraten, dass sich hinter Zahlen Städtenamen verbergen, zumal in der Spalten-Überschrift "Unternehmen" und nicht "Stadt" steht.


Anzeige
AW: Punkt (X/Y) Diagramm
29.05.2009 11:30:55
Rudi
Guten Morgen.
Erst einmal Sorry. Ja, da hast du Recht. War unvollständig von mir.
Nun funktioniert es soweit - ABER... nur wenn alle Städte eingeblendet sind. Sobald ich die Null-Wert-Gruppierung mache, damit die Städte ohne Angaben gefiltert sind in der Grafik stimmen die Nummerierungen nicht mehr.
Die Zweite Sache - kann man auch eine Funktion einbauben, dass man bei erneutem Klick auf einen Button die Beschriftung wieder rausnimmt? Falls es dem Anwender zu unübersichtlich wird.
Sorry, dass ich dich (euch) noch mal belästigen muss. Aber super vielen Dank für die tolle Hilfe.
Rudi
Anzeige
AW: Punkt (X/Y) Diagramm
29.05.2009 16:07:30
Beverly
Hi Rudi,
hier der geänderte Code zum Beschriften:

Sub DatenreihenBeschriftung()
Dim inPunkt As Integer
Dim inZeile As Integer
inPunkt = 1
inZeile = 43
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
.ApplyDataLabels
Do
If Worksheets("Marktausschöpfung").Rows(inZeile).Hidden = False Then
.Points(inPunkt).DataLabel.Text = " "
.Points(inPunkt).DataLabel.Text = Worksheets("Marktausschöpfung").Cells(inZeile, _
3)
inPunkt = inPunkt + 1
End If
inZeile = inZeile + 1
Loop While Worksheets("Marktausschöpfung").Cells(inZeile, 3)  0
End With
End Sub


Und hier der Code zum Löschen:


Sub BeschriftungLoeschen()
ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).DataLabels.Delete
End Sub




Anzeige
AW: Punkt (X/Y) Diagramm
29.05.2009 22:10:41
Rudi
Vielen Dank. Ist ja ein super Forum hier! Vor allem auch DANKE für deine Geduld. Schöne Pfingsten.
Rudi
AW: Punkt (X/Y) Diagramm
03.06.2009 09:47:22
Rudi
Hallo Karin,
ich habe das Ganze nun bei mir eingebaut und nun habe ich doch ein Problem.
.Points(inPunkt).DataLabel.Text = " "
hier kommt ein debugg-fehler.
Anschließenend wir alles richtig angezeigt. Woran kann das liegen?
Und kann man festelegen, dass die Beschrifung immer nur in Größe 8 sein soll?
Danke schon mal im Voraus.
AW: Punkt (X/Y) Diagramm
03.06.2009 10:18:08
Beverly
Hi Rudi,
ich kann leider nicht nachvollziehen, weshalb dieser Fehler bei dir auftritt - was sagt denn der Debugger genau? Du kannst diese Zeile aber auch löschen - ich hatte sie nur eingebaut um prüfen zu können, welche Werte an welchem Datenpunkt eingetragen werden.
Für die Schriftgröße: ergänze den Code vor

inZeile = inZeile + 1


durch diese Zeile:


.Points(inPunkt).DataLabel.Font.Size = 8




Anzeige
AW: Punkt (X/Y) Diagramm
03.06.2009 10:49:54
Rudi
Danke erst einmal für den Hinweis. Ich lade heute Abend mal was hoch. Dann kannst du es dir ggf. noch mal ansehen. Irgendwas scheint nicht zu stimmen.
Die Points Eigenschaft des Series Objektes kann nicht zugeordnet werden

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige