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 ausgezeichnetem Buch Excel 2003 Power Programming with VBA. zu finden ist.)

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 (3503) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: