Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1808to1812
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
Datenbeschriftung per VBA formatieren
30.01.2021 09:18:06
Frank
Ich bin VBA-Anfänger und habe mir mit dem Makrorecorder ein VBA-Modul zusammengestellt, mit dem ich allerhand Formatierungen (Größe, Schriftarten, Positionierungen von Überschrift, Fußzeile usw.) eines aktivierten(!) Charts (Name ändert sich natürlich ständig) einstellen kann. Funktioniert soweit gut.
Jetzt möchte ich die bereits eingefügten/vorhandenen(!) Datenbeschriftungen per VBA so einstellen, dass sie
- eine bestimmte Schriftgröße haben,
- die Füllung weiß haben,
- bei "Ausrichtung" alle Ränder NULL sind.
Kann mir hier jemand helfen?
Besten Dank und schöne Grüße
Frank

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenbeschriftung per VBA formatieren
30.01.2021 10:16:42
Beverly
Hi Frank,
nach diesem Prinzip:
Sub Formatieren()
With ActiveChart
With .SeriesCollection(1)
.DataLabels.Delete
.ApplyDataLabels
With .DataLabels
With .Format.TextFrame2
.MarginLeft = 0
.MarginRight = 0
.MarginTop = 0
.MarginBottom = 0
.TextRange.Font.Name = "Arial"
.TextRange.Font.Size = 11
End With
With .Format
.Fill.BackColor.RGB = 16777215
End With
End With
End With
End With
End Sub


AW: Datenbeschriftung per VBA formatieren
30.01.2021 14:35:41
Frank
Liebe Karin, im Prinzip ja, aber ...
im ersten Schritt werden ja alle vorhandenen Datenbeschriftungen erstmal gelöscht. Das soll aber gar nicht so sein, weil ich ja schon nach bestimmten Kriterien eingefügte Datenbeschriftungen habe.
Dann werden Datenbeschriftungen eingefügt und die dann formatiert. Die Formatierung klappt prima.
Wie kann man es machen, dass nur die schon vorhandenen Datenbeschriftungen (bei mir nicht in .SeriesCollection(1) formatiert werden?
Besten Dank und schöne Grüße
Frank
Anzeige
AW: Datenbeschriftung per VBA formatieren
30.01.2021 19:58:44
Beverly
Hi Frank,
lade doch bitte eine Beispielmappe hoch.


AW: Datenbeschriftung per VBA formatieren
31.01.2021 00:16:21
Beverly
Hi Frank,
Sub Formatieren()
Dim serReihe As Series
With ActiveSheet.ChartObjects(1).Chart
For Each serReihe In .SeriesCollection
If serReihe.Name = "Sonderpunkte" Then
With serReihe.DataLabels
With .Format.TextFrame2
.MarginLeft = 0
.MarginRight = 0
.MarginTop = 0
.MarginBottom = 0
.TextRange.Font.Name = "Arial"
.TextRange.Font.Size = 11
End With
With .Format
.Fill.BackColor.RGB = 16777215
End With
End With
Exit For
End If
Next serReihe
End With
End Sub


Anzeige
AW: Datenbeschriftung per VBA formatieren
31.01.2021 08:28:21
Frank
Hallo Karin,
in der angehängten Datei funktioniert das Modul wunderbar, besten Dank.
Allerdings habe ich viele von diesen Dateien, bei denen der Name der Reihe wechselt (hier:"Sonderpunkte"). Gibt es eine Möglichkeit, dass das Modul selbständig prüft, ob es eine Reihe mit Beschriftungen gibt und dann, unabhängig vom Reihenname, die vorhandenen Beschriftungen entsprechend formatiert?
Besten Dank und schöne Grüße
Frank
AW: Datenbeschriftung per VBA formatieren
31.01.2021 09:33:43
Beverly
Hi Frank,
ändere die Zeile:
            If serReihe.HasDataLabels Then


Anzeige
AW: Datenbeschriftung per VBA formatieren
31.01.2021 11:58:23
Frank
... leider nein.
Die Schleife wird dreimal durchlaufen aber keinmal erkannt, dass es DataLabels gibt.
Ich glaube, ich gebe auf.
Besten Dank und schöne Grüße
Frank
AW: Datenbeschriftung per VBA formatieren
31.01.2021 14:29:31
Beverly
Das kann ich nicht nachvollziehen - in deiner hochgeladenen Mappe wird die richtige Datenreihe erkannt. Allerdings wird die Füllfarbe der Label nicht richtig übernommen - die Schriftart, Schriftgröße und Formatierung dagegen schon. Damit auch die Füllfarbe passt ersetze die 3 Zeilen
                    With .Format
.Fill.BackColor.RGB = 16777215
End With
durch diese eine Zeile
                    .Interior.Color = 16777215
In der angehängten Mappe habe ich mal zur Verdeutlichung die Zeichenfläche orange formatiert, denn die Füllfarbe Weiß der Beschriftunglabel sieht man auf weißer Zeichenfläche nicht.
https://www.herber.de/bbs/user/143473.xlsm


Anzeige
AW: Datenbeschriftung per VBA formatieren
31.01.2021 21:24:15
Frank
Hallo Beverly,
in der von Dir bereitgestellten Mappe funktioniert es wunderbar. In meiner Originaldatei geht es nicht. Ich habe keine Ahnung, woran es liegen kann. In der Originaldatei stammen die Daten aus Abfragen auf andere Dateien, die Daten sind ordentlich als Tabelle formatiert usw. Die Makros sind in der PERSONAL.XLNB gespeichert. Vielleicht liegt die Fehlerquelle in irgendeinem Detail?
Schöne Grüße
Frank
AW: Datenbeschriftung per VBA formatieren
31.01.2021 23:08:36
Beverly
Hi Frank,
woher die Daten kommen ist unerheblich und dass das Makro in der PERSONAL.XLSB gespeichert ist kann auch nicht die Ursache sein - der Code bezieht sich ja auf das ActiveSheet. Außerdem habe ich das sicherheitshalber gerade eben getestet.
Worin unterschiedet sich denn deine hochgeladene Mappe von deiner Originalmappe? Gewiss wäre es hifreich, wenn du von deiner Orignalmappe mal eine Kopie erstellst, alles was nicht mit dem Problem zu tun hat herauslöschst und diese Kopie dann hochlädst.


Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige