Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
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
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
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

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

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
Anzeige
AW: Makro bleibt hängen
08.12.2006 15:42:29
Lars
Hi,
läuft einwandfrei!
mfg Lars
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.

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige