Thema Datum  Von Nutzer Rating
Antwort
Rot Diagramm Datenbeschriftung Format VBA
13.11.2017 10:51:16 Philipp Richter
NotSolved
14.11.2017 22:17:42 Ben
NotSolved

Ansicht des Beitrags:
Von:
Philipp Richter
Datum:
13.11.2017 10:51:16
Views:
1038
Rating: Antwort:
  Ja
Thema:
Diagramm Datenbeschriftung Format VBA
Hallo Leute, ich habe ein Makro welches mir 5000 Diagrammbalke in verschiedene Farben einfärbt. (rot Zielwert nicht erreicht, Grün Zielwert erreicht, blau kein Zielwert vorhanden) Das funktioniert auch alles super. Jetzt möchte ich gern für verschiedene Ist-Werte unterschiedlich Formate in der Datenbeschriftung haben. Alle Zahlen zwischen 0 - 99,94 sollen das Format: "0,#" haben. Alle Zahlen größer als 99,94 sollen mit dem Format "###" formatiert werden. (der zweck dahinter ist das alle Zahlen über 100 keine kommastellen haben dürfen) Einzelne Zelle konnte Ich mit Hilfe Selection.NumberFormat = "###" schon formatieren. Leider funktioniert das ganze nicht mit größer kleiner Vergleich. Die betreffenden Zeilen stehen ganz am Ende. ElseIf i >= 99.95 Then Selection.NumberFormat = "###" ElseIf i <= 99.95 Then Selection.NumberFormat = "0,#" Dim p As Integer 'Anzahl Datenpunkte Dim i, s As Double Dim ist, Zielwert As Variant Dim ptnum As Integer Dim sKennzahl, sDiaName As String p = 1 sKennzahl = ActiveSheet.Range("A1").Text Application.ScreenUpdating = False 'Zählt Datenreihen, wenn nur eine vorhanden, wird die Definition der Zielwert und Ist-Werte übersprungen. If ActiveChart.SeriesCollection.Count = 1 Then GoTo SPRUNG1 Else: End If ist = ActiveChart.FullSeriesCollection("Ist-Wert").Values On Error Resume Next Zielwert = ActiveChart.FullSeriesCollection("Zielwert").Values On Error GoTo 0 SPRUNG1: ptnum = ActiveChart.FullSeriesCollection("Ist-Wert").Points.Count For p = 1 To ptnum 'Zählt Datenreihen, wenn nur eine vorhanden, wird der Zielwert-Ist-Vergleich übersprungen. If ActiveChart.SeriesCollection.Count = 1 Then GoTo SPRUNG2 Else: End If 'Funktionsähnliche Zuordnung der Variablen i und s zu den Werten der jeweiligen Datenreihen am Punkt p On Error Resume Next i = ist(p) s = Zielwert(p) On Error GoTo 0 ActiveChart.FullSeriesCollection("Ist-Wert").Points(p).Select 'Zielwert-Ist-Vergleich und anschließendes Einfärben des ausgewählten Balkens 'If-Schleife um Kennzahl festzustellen, wichtig für Farbformatierung If InStr(sKennzahl, "QZF") Or InStr(sKennzahl, "QZS") Or InStr(sKennzahl, "Nacharbeit") Or _ InStr(sKennzahl, "Energie") Or InStr(sKennzahl, "Zeit") Then If s = 0 Or s = Null Then With Selection.Format.Fill .Visible = msoTrue .ForeColor.RGB = RGB(68, 114,196) 'blau .Transparency = 0 .Solid End With ElseIf i <= s Then With Selection.Format.Fill .Visible = msoTrue .ForeColor.RGB = RGB(112, 173, 71) 'grün .Transparency = 0 .Solid End With ElseIf i > s Then With Selection.Format.Fill .Visible = msoTrue .ForeColor.RGB = RGB(252, 81, 34) 'rot .Transparency = 0 .Solid End With End If Else: If s = 0 Or s = Null Then With Selection.Format.Fill .Visible = msoTrue .ForeColor.RGB = RGB(68, 114, 196) 'blau .Transparency = 0 .Solid End With ElseIf i >= s Then With Selection.Format.Fill .Visible = msoTrue .ForeColor.RGB = RGB(112, 173, 71) 'grün .Transparency = 0 .Solid End With ElseIf i < s Then With Selection.Format.Fill .Visible = msoTrue .ForeColor.RGB = RGB(252, 81, 34) 'rot .Transparency = 0 .Solid End With ElseIf i >= 99.95 Then Selection.NumberFormat = "###" ElseIf i <= 99.95 Then Selection.NumberFormat = "0,#" End If End If

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Diagramm Datenbeschriftung Format VBA
13.11.2017 10:51:16 Philipp Richter
NotSolved
14.11.2017 22:17:42 Ben
NotSolved