Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
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
Inhaltsverzeichnis

Datenbeschriftung mit VBA ausrichten

Datenbeschriftung mit VBA ausrichten
Marek
Hallo zusammen,
ich möchte eine Datenbeschriftung per VBA ausrichten. Egal, welche Position ich im Code angebe: die Beschriftung wird immer rechtsseitig ausgerichtet.
Was ist hier falsch?
Weiterhin habe ich über 50 solcher Diagramme, die ähnlich aussehen. Deshalb ist der Code zum Ausrichten auch immer derselbe. Leider passiert es, dass es beim Ausführen des Makros zu einem Fehler kommt. Das betrifft immer verschiedene Diagramme. Stoppe ich den Debugger, klicke das betreffende Diagramm an und lasse den Code erneut durchlaufen, funktioniert es. So kann ich jedes "fehlerbehaftete" Diagramm abarbeiten. Danach läuft alles fehlerfrei durch. Bis zum nächsten Öffnen der Datei.
Weiß jemand, woran das liegen kann? Merkwürdig ist, dass es nicht immer dieselben Diagramme betrifft und der Code richtig zu sein scheint.
https://www.herber.de/bbs/user/75755.xlsm
Gruß
Marek
AW: Datenbeschriftung mit VBA ausrichten
19.07.2011 14:12:04
Beverly
Hi Marek,
Sub Formatieren()
Dim DataLab As DataLabel
With ActiveSheet.ChartObjects("Diagramm 1").Chart
With .SeriesCollection(4)
.ApplyDataLabels
For Each DataLab In .DataLabels
DataLab.Top = 20
Next DataLab
End With
With .ChartTitle
.Left = 8
.Top = 2
End With
With .Shapes("Textfeld 1")
.Left = 4
.Top = 16
End With
End With
End Sub



AW: Datenbeschriftung mit VBA ausrichten
19.07.2011 14:29:11
Marek
Hallo Karin,
danke erst mal. Leider werden die neuen Daten leicht rechts versetzt angezeigt.
Dein VBA-Code sieht jedoch eleganter aus als meiner; werde ihn so einbauen. :-)
Gruß
Marek
Anzeige
AW: Datenbeschriftung mit VBA ausrichten
19.07.2011 14:58:41
Beverly
Hi Marek,
ändere mal diesen Teil, vielleicht hilft das:
      With .SeriesCollection(4)
If .HasDataLabels Then .DataLabels.Delete
.ApplyDataLabels
.DataLabels.Position = xlLabelPositionAbove
For Each DataLab In .DataLabels
DataLab.Top = 20
Next DataLab
End With



AW: Datenbeschriftung mit VBA ausrichten
19.07.2011 15:07:09
Marek
Dann hängt es bei "DataLab.Top = 20". Das war auch die Stelle, wo es bei meinem zweiten Problem gehangen hat. Dieses Mal jedoch keine Chance: es hängt. :-(
AW: Datenbeschriftung mit VBA ausrichten
19.07.2011 15:32:49
Beverly
Hi Marek,
kann ich nicht nachvollziehen.
https://www.herber.de/bbs/user/75758.xlsm


Anzeige
AW: Datenbeschriftung mit VBA ausrichten
19.07.2011 15:39:30
Marek
Hallo Karin,
hängt definitiv bei "DataLab.Top = 20". Sollte eigentlich funktionieren. :-(
Userbild
AW: Datenbeschriftung mit VBA ausrichten
19.07.2011 16:58:52
Beverly
Hi Marek,
diesen Codeteil habe ich von dir übernommen. In Excel2010 tritt damit kein Fehler auf. Ich kann das aber erst heute Abend oder morgen mit Excel2007 testen. Inzwischen kannst du es ja mal mit dem folgenden Code versuchen:
Sub Formatieren()
Dim intLabel As Integer
With ActiveSheet.ChartObjects(1).Chart
With .SeriesCollection(4)
If .HasDataLabels Then .DataLabels.Delete
.ApplyDataLabels
.DataLabels.Position = xlLabelPositionAbove
For intLabel = 1 To .Points.Count
.Points(intLabel).DataLabel.Top = 20
Next intLabel
End With
With .ChartTitle
.Left = 8
.Top = 2
End With
With .Shapes("Textfeld 1")
.Left = 4
.Top = 16
End With
End With
End Sub



Anzeige
AW: Datenbeschriftung mit VBA ausrichten
19.07.2011 17:21:59
Marek
Hi Karin,
vielen Dank erst mal. Werde mal ein AddOn deinstallieren. Vielleicht liegt es daran. Den Code schaue ich mir morgen mal an.
Gruß
Marek
AW: Datenbeschriftung mit VBA ausrichten
19.07.2011 17:34:02
Marek
Nützt leider auch nichts. Schgönnt heuln ... :-(
Userbild
AW: Datenbeschriftung mit VBA ausrichten
19.07.2011 20:42:09
Beverly
Hi Marek,
ich habe es jetzt in Excel2007 getestet - das ist offensichtlich ein Bug in dieser Programmversion, dass das Beschriftungslabel die Eigenschaften Top/Left nicht besitzt. Die einzige Lösung die ich im Augenblich sehe wäre, dass du die Datenreihe 4 der sekundären Achse zuweist, dann werden ihre Werte als Rubrikenbeschriftung auf gleicher Höhe oberhalb des Diagramms angezeigt.


Anzeige
AW: Datenbeschriftung mit VBA ausrichten
20.07.2011 08:19:04
Marek
Hallo Karin,
habe es gestern Abend bei mir zuhause laufen lassen - auf 2010, keine Probleme. Muss also wirklich ein Bug sein, vor allem, weil es immer bei unterschiedlichen Diagrammen (in 2007) hängen bleibt. Der Code ist also korrekt.
Die Alternative mit der Sekundärachse werde ich mir vormerken.
Vielen Dank für deine Hilfe. Zumindest habe ich gesehen, dass es eleganteren Code gibt, als der Makrorekorder ihn anbietet. :-)
Gruß
Marek
AW: Datenbeschriftung mit VBA ausrichten
19.07.2011 15:00:17
Marek
Hallo nochmal,
habe die Zeile "DataLab.Position = xlLabelPositionAbove" vor "DataLab.Top = 20
" eingefügt. Beim ersten Mal sieht alles prima aus; beim zweiten Formatieren steht die Beschriftung wieder rechtsseitig.
Hast du irgendeine Idee?
Gruß
Marek
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige