Formatieren von Daten in einer Diagrammdatentabelle


-1

Ich arbeite an einem Projekt, in dem ich mithilfe von VBA programmgesteuert Diagramme erstelle. Diese Diagramme enthalten Datentabellen. Die Geschäftsanforderungen legen fest, dass die Diagrammdaten nicht mit den Quelldaten verknüpft werden können, sodass die Daten in das Diagramm selbst eingebettet werden. enter image description here

Ich habe Mühe zu sehen, wie man die Zahlen in der Tabelle so formatiert, dass sie zwei Dezimalstellen haben ... Im obigen Beispiel muss die 0,1 0,10 und die 1 1,00 sein. Das Diagramm entfernt alle nachgestellten Nullen, die ich den Quelldaten hinzufüge, und es werden keine Optionen zum Formatieren des Datentabellennummernformats angezeigt. Ich weiß nicht, ob es eine VBA-Antwort darauf gibt oder ob ich sie durch Aufzeichnen eines Makros finden könnte, aber ich kann es nicht einmal manuell herausfinden! Irgendwelche Gedanken?


Wenn Sie dies manuell tun, können Sie die Tabelle nicht ohne Quelldaten erstellen irgendwo (Gut ich keinen Weg finden). Die Formatierung der Quelldaten wird in die Datentabelle übernommen (zum Beispiel "0.00" für Ihre Frage). Ich würde versuchen, das zu tun und dann in VBA auf das manuell erstellte Diagramm schauen; Auf diese Weise sehen Sie möglicherweise, wo dieses Format gespeichert ist. Vielleicht bei jeder Nummer einzeln - wie die Quelle auch zulassen würde.
Aganju

Die Daten des Diagramms sind niemals an einen Bereich gebunden. Die Daten werden in Arrays gespeichert und dann während des Builds an das Diagramm übergeben. Wenn es keine Möglichkeit gibt, die Zahlenformatierung manuell zu ändern, klingt es so, als müsste ich herausfinden, wie mein Array die nachgestellten Nullen speichert, und hoffen, dass dies funktioniert ...
ARich

Warum stimmen die ab?
ARich

war nicht ich Und ich sehe auch keinen Grund.
Aganju

Antworten:


0

Sie sollten dazu in der Lage sein, die DataLabel Objekt.

Beispiele aus dem verlinkten MSDN:

With Charts(1).SeriesCollection(1)   
    .HasDataLabels = True  
    .DataLabels.NumberFormat = "##.##"  
End With

oder

Worksheets(1).ChartObjects(1).Chart _ 
 .SeriesCollection(1).DataLabels(5).NumberFormat = "0.000"

1
Vielen Dank für den Vorschlag, aber das Hinzufügen von Datalabels zum Diagramm löst das Problem nicht. Auch das Formatieren von Datenetiketten ändert das Format der Datentabelle nicht.
ARich

Es scheint keinen Weg zu geben, dies zu erreichen, wenn DataLabels macht es nicht. Das DataTable Das Objekt hat keine Optionen zum Formatieren von Text oder Werten, die über den Namen und die Größe der Schrift hinausgehen. Sie können diese Art der Formatierung zu einem gewissen Grad programmgesteuert erreichen, indem Sie Variablentypen auswählen und die Daten vorab formatieren, bevor das Diagramm erstellt wird. Ich bin mir jedoch nicht sicher, ob Sie in der Lage sind, dieses spezielle Ergebnis zu erzielen.
Vegard
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.