Beschriften von X-Y-Streudiagrammen (Microsoft Excel)
Martin hat ein Arbeitsblatt mit 50 Datenzeilen, wobei jede Zeile ein einzelnes Objekt beschreibt. Spalte A enthält den Namen des Objekts, Spalte B enthält seine X-Koordinate und Spalte C enthält seine Y-Koordinate. Wenn er ein X-Y-Streudiagramm (Spalte B gegen Spalte C) erstellt, ist das Ergebnis wie gewünscht ein Diagramm, das eine Reihe von Punkten zeigt, die die Position der Objekte zeigen. Martin kann die Datenpunkte jedoch nicht mit ihren individuellen Namen (aus Spalte A) kennzeichnen. Wenn er versucht, die Datenpunkte zu beschriften, besteht die einzige verfügbare Option darin, jeden Punkt mit seinem X-Wert, Y-Wert oder Seriennamen zu beschriften. Martin fragt sich, ob es eine Möglichkeit gibt, Spalte A einfach zum Beschriften der gezeichneten Datenpunkte zu verwenden.
Dies kann manuell erfolgen, ist aber bestenfalls mühsam. Für 50 Zeilen wäre es schnell brutal, daher ist es am besten, einen makroorientierten Ansatz zu betrachten. Eine Idee besteht darin, ein Makro ähnlich dem folgenden zu verwenden, das die Datenpunkte im X-Y-Diagramm durchläuft und die Beschriftungswerte aus Spalte A liest.
Sub DataLabelsFromRange() Dim Cht As Chart Dim i, ptcnt As Integer Set Cht = ActiveSheet.ChartObjects(1).Chart On Error Resume Next Cht.SeriesCollection(1).ApplyDataLabels _ Type:=xlDataLabelsShowValue, _ AutoText:=True, _ LegendKey:=False ptcnt = Cht.SeriesCollection(1).Points.Count For i = 1 To ptcnt Cht.SeriesCollection(1).Points(i).DataLabel.Text = _ ActiveSheet.Cells(i + 1, 1).Value Next i End Sub
Das Makro geht davon aus, dass die erste Zeile des Arbeitsblatts Kopfzeileninformationen enthält und dass die tatsächlichen Daten in Zeile 2 beginnen. Wenn die Daten tatsächlich in Zeile 1 beginnen, ändern Sie „i + 1“ in einfach „i“. (Dieser Makroansatz ist eigentlich eine Variation eines Makros, das auf den Seiten 570-571 von John Walkenbachs Buch Excel 2003 Power Programming with VBA. zu finden ist. Trotz des Titels des Buches funktioniert das Makro auch in späteren Versionen von Excel einwandfrei.)
Ein ziemlich einzigartiger Nicht-Makro-Ansatz ist die Verwendung der benutzerdefinierten Formate von Excel.
Sie müssen lediglich eine Reihe von benutzerdefinierten Formaten einrichten, die nur den Text enthalten, der angezeigt werden soll. Wenn Sie beispielsweise die Werte Alter, 15 und 23 in den Zellen A3 bis C3 haben, können Sie entweder Zelle B3 oder C3 so formatieren, dass das Wort „Alter“ angezeigt wird, obwohl der Wert 15 bzw. 23 bleibt. Geben Sie einfach „Alter“ (einschließlich der Anführungszeichen) für das benutzerdefinierte Format für die Zelle ein. Formatieren Sie dann das Diagramm, um die Beschriftung für den X- oder Y-Wert anzuzeigen.
Wenn Sie dies tun, werden die X-Achsenwerte des Diagramms wahrscheinlich alle in den Formatnamen (d. H. Alter) geändert. Nach dem Formatieren der X-Achse auf Zahl (in diesem Fall ohne Nachkommastellen) und nicht auf Allgemein sollte das Diagramm jedoch korrekt angezeigt werden.
Die Implementierung dieses Ansatzes kann natürlich noch einige Zeit in Anspruch nehmen, da Sie für jeden Wert in Ihrer Datenreihe eine Reihe von benutzerdefinierten Formaten einrichten und anwenden. Wenn Sie sich nicht mit dem Schreiben und Testen Ihrer eigenen Makros oder dem Erstellen einer Reihe von benutzerdefinierten Formaten herumschlagen möchten, können Sie sich jederzeit an Add-Ins wenden, die von anderen geschrieben wurden. Microsoft MVP Rob Bovey hat ein hervorragendes (kostenloses) Add-In für Excel erstellt, das unter anderem eine X-Y-Beschriftungsfunktion enthält. Es kann unter folgender Adresse heruntergeladen werden:
http://www.appspro.com/Utilities/ChartLabeler.htm
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (11652) gilt für Microsoft Excel 2007 und 2010. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: