Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Automatisierte Datenbeschriftungen

Betrifft: Automatisierte Datenbeschriftungen von: eric
Geschrieben am: 29.09.2014 10:01:47

Hola liebe Experten,

folgende Herausforderung stellt sich mir:
Fast alles funktioniert zu meiner vollen Zufriedenheit, nur eine Kleinigkeit nicht.
Es geht um das Blasendiagramm im vierten Arbeitsblatt (CurrentGRID). Beim Schließen und erneuten Öffnen der anliegenden Exceldatei + Hinzufügen eines neuen Risikos in der Liste des ersten Arbeitsblattes (CurrentWorkFile) setzt Excel mir die Datenbeschriftung (in Form der Nr. des Risikos) leider nicht automatisch. Bubble ist da, nur ohne Datenbeschriftung - probierts einfach mal aus :)

Erst nachdem ich die Datenbeschriftung des Diagramms formatiere, indem ich den Beschriftungstext zurücksetze und das Häkchen bei 'Wert der Zelle' rausnehme und wieder reinsetze - dann ist die Datenbeschriftung plötzlich da. Alle weiteren hinzugefügten Risiken funktionieren dann tadellos mit dynamischer Beschriftung im Diagramm.

Kann mir jmd. helfen, so dass die Formatierung nach dem Öffnen der Datei nicht mehr notwendig ist?

Tausend Dank schon im Voraus.

Beste Grüße

https://www.herber.de/bbs/user/92787.xlsx

  

Betrifft: AW: Automatisierte Datenbeschriftungen von: Beverly
Geschrieben am: 29.09.2014 11:12:27

Hi Eric,

ich habe mal in SetUp2 anstelle der fixen Werte in Spalte A eine Formel eingefügt und außerdem den Namen NR anders definiert: =SetUp2!$A$2:INDEX(SetUp2!$A:$A;ANZAHL(SetUp2!$A:$A)+1;1) - das hat bei mir (Excel2013) die Lösung gebracht.

https://www.herber.de/bbs/user/92874.xlsx


GrußformelBeverly's Excel - Inn


  

Betrifft: AW: Automatisierte Datenbeschriftungen von: eric
Geschrieben am: 29.09.2014 11:30:25

Hallo Karin,

vielen Dank für deine schnelle Antwort. Probiere bitte mal die Datei zu speichern und dann erneut zu öffnen. Füge dann ein neues Risiko im ersten Arbeitsblatt ein und sieh Dir danach bitte das Diagramm an. Man sieht nun, dass Excel wunderbar eine neue Blase hinzufügt, diese allerdings nicht beschriftet. Also so ganz sind wir leider noch nicht bei der Lösung.

Würde mich freuen, wenn Du dich noch mal kurz zurückmeldest.

Beste Grüße
Eric


  

Betrifft: AW: Automatisierte Datenbeschriftungen von: eric
Geschrieben am: 29.09.2014 11:42:20

Nach eigener Recherche im Netz bin ich nun auf Folgendes gestoßen:
http://support2.microsoft.com/kb/213750/de

Wäre jmd. in der Lage, mir den Code für das Makro bzgl. meines Blasendiagramms anzupassen? Ich habe leider keinerlei Erfahrung mit VBA.


  

Betrifft: AW: Automatisierte Datenbeschriftungen von: Beverly
Geschrieben am: 29.09.2014 13:12:35

Sub Datenbeschriftung()
    With Worksheets("CurrentGRID").ChartObjects(1).Chart
        With .SeriesCollection(1)
            .DataLabels.Delete
            .ApplyDataLabels
            With .DataLabels
                .Format.TextFrame2.TextRange. _
                    InsertChartField msoChartFieldRange, _
                    "=" & ThisWorkbook.Name & "!NR", 0
                .ShowRange = True
                .ShowValue = False
                .Position = xlLabelPositionCenter
                .Format.TextFrame2.TextRange.Font.Bold = msoTrue
                .Format.TextFrame2.TextRange.Font.Size = 14
            End With
        End With
        With .SeriesCollection(2)
            .DataLabels.Delete
            .ApplyDataLabels
            With .DataLabels
                .Format.TextFrame2.TextRange. _
                    InsertChartField msoChartFieldRange, _
                    "=" & ThisWorkbook.Name & "!NR", 0
                .ShowRange = True
                .ShowValue = False
                .Position = xlLabelPositionCenter
                .Format.TextFrame2.TextRange.Font.Bold = msoTrue
                .Format.TextFrame2.TextRange.Font.Size = 14
            End With
        End With
    End With
End Sub

GrußformelBeverly's Excel - Inn


  

Betrifft: AW: Automatisierte Datenbeschriftungen von: eric
Geschrieben am: 29.09.2014 13:26:06

Hallo Karin,

vielen vielen Dank für die Mühe... sieht vielversprechend aus

beim Ausführen erscheint jedoch noch die folgende Fehlermeldung:

Laufzeitfehler'-2147467259 (80004005)!'
Die Count-Eigenschaft der DataLabels-Klasse kann nicht zugeordnet werden

... wenn wir das noch hinbekommen funktioniert es bestimmt!

Tausend Dank allerdings schon bis hierhin - ich bin unfassbar dankbar für Deine Hilfe

Beste Grüße
Eric


  

Betrifft: AW: Automatisierte Datenbeschriftungen von: Beverly
Geschrieben am: 29.09.2014 13:41:09

Hi Eric,

deine Datenreihe2 hatte keine Beschriftungslabel, deshalb der Fehler.
Ich habe außerdem noch den Code dahingehend ergänzt, dass kein Problem auftritt, falls deine Originalmappe einen Namen mit Sonderzeichen bzw. Leerstellen hat.

Sub Datenbeschriftung()
    With Worksheets("CurrentGRID").ChartObjects(1).Chart
        With .SeriesCollection(1)
            If .HasDataLabels = True Then .DataLabels.Delete
            .ApplyDataLabels
            With .DataLabels
                .Format.TextFrame2.TextRange. _
                    InsertChartField msoChartFieldRange, _
                    "='" & ThisWorkbook.Name & "'!NR", 0
                .ShowRange = True
                .ShowValue = False
                .Position = xlLabelPositionCenter
                .Format.TextFrame2.TextRange.Font.Bold = msoTrue
                .Format.TextFrame2.TextRange.Font.Size = 14
            End With
        End With
        With Worksheets("CurrentGRID").ChartObjects(1).Chart.SeriesCollection(2)
            If .HasDataLabels = True Then .DataLabels.Delete
            .ApplyDataLabels
            With .DataLabels
                .Format.TextFrame2.TextRange. _
                    InsertChartField msoChartFieldRange, _
                    "='" & ThisWorkbook.Name & "'!NR", 0
                .ShowRange = True
                .ShowValue = False
                .Position = xlLabelPositionCenter
                .Format.TextFrame2.TextRange.Font.Bold = msoTrue
                .Format.TextFrame2.TextRange.Font.Size = 14
            End With
        End With
    End With
End Sub

GrußformelBeverly's Excel - Inn


  

Betrifft: AW: Automatisierte Datenbeschriftungen von: eric
Geschrieben am: 29.09.2014 14:19:11

Hi Karin,

die zweite Datenreihe soll auch tatsächlich keine Beschriftungslabel haben, ich benötige lediglich die der ersten Datenreihe. Beschriftet man beide kommt es zu unansehnlichen Überschneidungen.

... ansonsten läuft es top - ich bin überglücklich, wenn die Überschneidungen jetzt noch wegkommen


  

Betrifft: AW: Automatisierte Datenbeschriftungen von: eric
Geschrieben am: 29.09.2014 14:24:09

Hat sich erledigt! Hatte eine Datenreihenbeschriftung anders formatiert...Alles ist bestens..... perfekt!!!

Vielen vielen Dank Karin