Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro Problem Werte im Diagramm anzeigen

Makro Problem Werte im Diagramm anzeigen
07.12.2006 18:24:19
Peter
Hallo alle zusammen,
ich habe immer noch folgendes Problem:
(Problem und angehängte Datei stelle ich vereinfacht dar)
Auf einem Diagramm-Blatt habe ich 3 Diagramme.
1 X,Y-Punktdiagramm und 2 Kreisdiagramme.
In den Kreisdiagrammen lassen ich mir die Datenbeschriftung in Prozent anzeigen.
In jedem Kreisdiagramm gibt es 7 Stücke die 7 Zahlen aus Tabellen grafisch darstellen. Die Summe der Zahlen aus den Tabellen ist immer 100.
Wenn Zahlen unter z.B. 3% angezeigt werden, sind diese nicht mehr zu lesen.
Ich habe 2 Makros ausprobiert, die genau die Datenbeschriftungen ausblenden sollen, die unter 3% anzeigen.
Die Makros werden über das Kombinationsfeld "Hauptdaten" gestartet.
Beispiel-Datei:
https://www.herber.de/bbs/user/38814.xls
Das erste Makro läuft zwar durch, bewirkt aber nichts:
1.

Private Sub Datenbeschriftung_Kreisdiagramm_Klasse()
Dim Werte
Werte = Sheets("Auswertung").Range("H77:H83").Value
For index = 1 To AnzahlWerte
ActiveChart.SeriesCollection(1).DataLabels.Select
With Charts("Diagramm 67").SeriesCollection(1).Points(index)
Select Case Werte(index, 1)
Case Is < 3
.DataLabel.Visible = False
Case Is > 3
.DataLabel.Visible = True
End Select
End With
Next index
End Sub


Private Sub Datenbeschriftung_Kreisdiagramm_Durchmesser()
Dim Werte
Werte = Sheets("Auswertung").Range("H5:H11").Value
For index = 1 To AnzahlWerte
ActiveChart.SeriesCollection(1).DataLabels.Select
With Charts("Diagramm 23").SeriesCollection(1).Points(index)
Select Case Werte(index, 1)
Case Is < 3
.DataLabel.Visible = False
Case Is > 3
.DataLabel.Visible = True
End Select
End With
Next index
End Sub

Das zweite Makro lässt Excel Korrekturmeldungen anzeigen oder stürzt ab:
2.
Sub Datenbeschriftung_Kreisdiagramm_Klasse()
Dim Werte As Range, Index As Integer
Set Werte = Sheets("Auswertung").Range("H77:H83")
For Index = 1 To Werte.Cells.Count
ActiveChart.SeriesCollection(1).DataLabels.Select
With Charts("Diagramm 67").SeriesCollection(1).Points(Index)
Select Case Werte.Cells(Index)
Case Is .DataLabel.Visible = False
Case Is > 3
.DataLabel.Visible = True
End Select
End With
Next Index
End Sub
Sub Datenbeschriftung_Kreisdiagramm_Durchmesser()
Dim Werte As Range, Index As Integer
Set Werte = Sheets("Auswertung").Range("H5:H11")
For Index = 1 To Werte.Cells.Count
ActiveChart.SeriesCollection(1).DataLabels.Select
With Charts("Diagramm 23").SeriesCollection(1).Points(Index)
Select Case Werte.Cells(Index)
Case Is .DataLabel.Visible = False
Case Is > 3
.DataLabel.Visible = True
End Select
End With
Next Index
End Sub
Bitte helft mir!
Grüße aus Berlin
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Problem Werte im Diagramm anzeigen
07.12.2006 20:48:11
Christoph
Hallo Peter
ein Ansatz:
Gruß Christoph
Option Explicit
Sub Datenbeschriftung_Kreisdiagramm_Klasse()
Dim Werte As Range, Index As Integer
Dim ch As Chart
Set Werte = Sheets("Auswertung").Range("H77:H83")
Set ch = Sheets("Pflanzungs-Karte").ChartObjects("Diagramm 2").Chart
With ch.SeriesCollection(1)
.ApplyDataLabels ShowPercentage:=True
For Index = 1 To Werte.Cells.Count
If Werte.Cells(Index) < 3 Then .Points(Index).DataLabel.Delete
Next Index
End With
Set ch = Nothing
Set Werte = Nothing
End Sub

Anzeige
AW: Makro bleibt hängen
08.12.2006 12:26:39
Peter
Hallo Christoph,
leider bleibt das Makro bei
.ApplyDataLabels ShowPercentage:=True
hängen.
Was könnte der Fehler sein?
aktuelle Datei:
https://www.herber.de/bbs/user/38827.xls
Grüße aus Berlin
AW: Makro bleibt hängen
08.12.2006 15:42:29
Lars
Hi,
läuft einwandfrei!
mfg Lars
Anzeige
AW: bei mir läuft es nicht
08.12.2006 17:25:16
Peter
Hallo,
bei mir läuft es nicht!
Wenn ich über das Kombinationsfeld z.B. Klasse anwähle erscheint das VBA-Fehler-Fenster in dem "Laufzeitfehler 1004: Anwendungs- oder objektdefinierter Fehler" steht.
Im VBA sehe ich dann die Zeile:
.ApplyDataLabels ShowPercentage:=True
gelb markiert.
Die Hilfe zum oben genannten Fehlertext führt mich auch nicht zur Lösung des Problems.
Warum funktioniert der Code bei dir?
Was für eine Excel-Version hast du?
Hast du irgendwo z.B. unter "Extras" was eingestellt?
aktuelle Datei: https://www.herber.de/bbs/user/38836.xls
Bitte helft mir!
Grüße aus Berlin
Anzeige
AW: bei mir läuft es nicht
08.12.2006 17:43:45
Lars
ShowPercentage:=True gibt es erst ab Excel XP (2002)
mfg Lars
AW: bei mir läuft es nicht
08.12.2006 23:47:04
Christoph
Hallo Peter,
ich konnte deine Fehlermeldung ebenso wenig nachvollziehen, bis eben den Hinweis von Lars zu Excel2002 gesehen habe.
Da ich selbst kein Excel2000 habe kann dir nicht versprechen, ob das Folgende unter 2000 läuft. Probier's mal.
Wenn nicht, dann schau mal in der VBA-Hilfe (F1) unter "DataLabel", vielleicht findest du hier ein Beispiel, das du umsetzen kannst.
Gruß
Christoph
Option Explicit
Sub Datenbeschriftung_Kreisdiagramm_Klasse()
Dim Werte As Range, Index As Integer
Dim ch As Chart
Set Werte = Sheets("Auswertung").Range("H77:H83")
Set ch = Sheets("Pflanzungs-Karte").ChartObjects("Diagramm 2").Chart
For Index = 1 To Werte.Cells.Count
With ch.SeriesCollection(1).Points(Index)
If Werte.Cells(Index) < 3 Then
.HasDataLabel = False
Else
.HasDataLabel = True
.DataLabel.Text = Werte.Cells(Index, 1) & "%"  'Anzeige in Prozent
End If
End With
Next Index
Set ch = Nothing
Set Werte = Nothing
End Sub

Anzeige
heureca
10.12.2006 12:25:51
Peter
Hallo an alle,
es funktioniert, danke, bis zum nächsten mal.
Grüße aus Berlin.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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