Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1400to1404
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

benutzerdefinierte Säulenbeschriftung

benutzerdefinierte Säulenbeschriftung
07.01.2015 09:26:46
half
Hallo,
ich habe ein Säulendiagramm mit 3 Datenreihen. Eine davon möchte ich benutzerdefiniert beschriften. Also mit Bezug zu anderen Zellen. Hierzu habe ich dieses Makro gefunden:
Sub BeschriftungIstZellbezug()
Dim lngPunkt As Integer
With ActiveSheet.ChartObjects("Diagramm 2").Chart.SeriesCollection(2)
.ApplyDataLabels
For lngPunkt = 1 To .Points.Count
.Points(lngPunkt).DataLabel.Text = Cells(55, lngPunkt)
Next lngPunkt
End With
End Sub

Dieses funktioniert auch, allerdings habe ich 2 Probleme:
1. Die Datenreihe ist nicht forlaufend von 1-12 beschriftet sondern, da das Diagramm 3 Datenreihen beinhaltet, von 1-3-5-7-9 usw.
Damit das ganze dann funktioniert habe ich in der Zeile in der die externe Datenbeschriftung enthalten ist immer 2 Leerzeieln eingefügt. Diese Lösung finde ich nicht so zzufriedenstellen, gibt es eine andere Möglichkeit?
2. Das Diagramm zeigt Ist Werte je Monat. Dementsprechend kann es sein, dass noch keine Werte vorhanden sind. Ist das der Fall wird die Datenbeschriftung mit diesem Makro "0". Mir wäre es aber lieber wenn dann keine Datenbeschritung angezeigt würde.
Danke schomal für eure Hilfe

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

Betreff
Datum
Anwender
Anzeige
AW: benutzerdefinierte Säulenbeschriftung
07.01.2015 16:56:19
fcs
Hallo half,
du musst die Zähler für die Datenpunkt und die Spalten der Zellen mit den Beschriftungen entkoppeln, indem für die Spalten eine separate Variable verwendet wird.
Wenn für leere Zellen keine "0" erscheinen soll, dann die Text-Eigenschaft der Zellen für die Beschriftung der Zellen verwenden.
Gruß
Franz
Sub BeschriftungIstZellbezug()
Dim lngPunkt As Integer, Spalte As Long
With ActiveSheet.ChartObjects("Diagramm 2").Chart.SeriesCollection(2)
.ApplyDataLabels
Spalte = 1
For lngPunkt = 1 To .Points.Count Step 2 'oder evtl. 3
.Points(lngPunkt).DataLabel.Text = Cells(55, Spalte).Text
Spalte = Spalte + 1
Next lngPunkt
End With
End Sub

Anzeige
AW: benutzerdefinierte Säulenbeschriftung
07.01.2015 17:15:38
half
Hi Franz,
erstmal vielen Dank für das Makro, das funktioniert einwandfrei.
Noch ne Frage zu den 0 Werten. Was genau meinst du mit der Text-Eigenschaft?
Meine Lösung wäre jetzt =WENN(BA107=0;"";BA107) gewesen.

AW: benutzerdefinierte Säulenbeschriftung
08.01.2015 01:59:41
fcs
Hallo Half,
Zellen haben unter VBA u.a. die Eigenschaften Text und Value. Unter VBA ist Value die Standardeigenschaft von Zell-Objekten und muss nicht extra angegeben werden.
Text ist dabei der Wert der Zelle wie er im Tabellenblatt angezeigt wird - also der formatierte Zellinhalt.
Value ist der tatsächliche Inhalt der Zelle.
Value einer leeren Zelle wird von Excel dabei entsprechend dem Kontext oder auch Typ des Ziels interpretiert. Das kann 0 sein, ein Leerstring "", oder auch "ohne Inhalt".
Die Text-Eigenschaft einer leeren Zelle ist ein Leerstring "".
Gruß
Franz

Anzeige
AW: benutzerdefinierte Säulenbeschriftung
08.01.2015 10:41:16
half
Ah ok, alles klar. Nochmal danke, hast mir sehr geholfen.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige