Microsoft Excel

Herbers Excel/VBA-Archiv

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

Ausrichtung der Datenbeschriftung an Achse | Herbers Excel-Forum


Betrifft: Ausrichtung der Datenbeschriftung an Achse von: Marek Prasnikar
Geschrieben am: 20.01.2010 15:45:09

Hallo zusammen,

ich möchte die Datenbeschriftung an der Achse automatisch ausrichten, da sich die Werte jeden Monat ändern. Bisher muss ich das manuell machen, was auch nicht so schön genau ist. Außerdem nervt es.

"Basis innerhalb, Ende innerhalb ..." geht dafür nicht, siehe Beispiel.

https://www.herber.de/bbs/user/67350.xls

Hoffentlich weiß jemand eine Lösung.

Gruß

Marek

  

Betrifft: AW: Ausrichtung der Datenbeschriftung an Achse von: Tino
Geschrieben am: 20.01.2010 16:22:10

Hallo,
mit VBA könnte es so gehen.

Dim DataLab As DataLabel

For Each DataLab In ActiveSheet.ChartObjects("Chart 3").Chart.SeriesCollection(2).DataLabels
  DataLab.Left = 240
Next DataLab
Gruß Tino


  

Betrifft: AW: Ausrichtung der Datenbeschriftung an Achse von: Marek Prasnikar
Geschrieben am: 20.01.2010 16:50:21

Hallo Tino,

das klappt primstens. Da sich die Achse ja links befindet, klappt die Ausrichtung leider nicht so, dass die Daten rechtsbündig stehen. Oder geht das doch?

Jedenfalls recht herzlichen Dank, hast mir sehr geholfen.

Gruß

Marek


  

Betrifft: DataLabel keine Width Eigenschaft (Frage offen) von: Tino
Geschrieben am: 20.01.2010 17:12:28

Hallo,
diese DataLabels haben leider keine Width Eigenschaft,
somit kann man dies nicht feststellen bzw. berechnen.

Gruß Tino


  

Betrifft: AW: DataLabel keine Width Eigenschaft (Frage offen) von: Marek Prasnikar
Geschrieben am: 20.01.2010 17:24:00

Hallo Tino,

jetzt taucht doch noch ein Problemchen auf: Das funktioniert nur in einem Diagramm. Dann ist Ruhe mit ausrichten. Ich wollte es so lösen:

Sub Beschriftung1()
    Dim DataLab As DataLabel

    For Each DataLab In ActiveSheet.ChartObjects("Chart 3").Chart.SeriesCollection(2). _
DataLabels
    DataLab.Left = 260
    Next DataLab
End Sub
Sub Beschriftung2()
Dim DataLab As DataLabel

    For Each DataLab In ActiveSheet.ChartObjects("Chart 3").Chart.SeriesCollection(2). _
DataLabels
    DataLab.Left = 260
    Next DataLab
End Sub


Kannst du mir sagen, woran es liegt?

Gruß

Marek


  

Betrifft: dies kann verschiedene Ursachen haben. von: Tino
Geschrieben am: 20.01.2010 17:46:57

Hallo,
Digramm Name stimmt nicht oder ist auf einem anderen Tabellenblatt oder
der Index der SeriesCollection ist falsch.

Gruß Tino


  

Betrifft: AW: dies kann verschiedene Ursachen haben. von: Marek Prasnikar
Geschrieben am: 21.01.2010 09:32:35

Hallo Tino,

Diagramme und Datenquellen sehen alle gleich aus und befinden sich in einem Tabellenblatt. Datenreihenindex müsste so passen.
Beim Makro zuweisen wird immer als Name "Chart 3" bei den jeweiligen Diagrammen angeboten (Diagramme mit Copy / Paste vervielfältigt).

Hast du noch einen Tipp?

Gruß

Marek


  

Betrifft: Beispiel hochladen, sonst weis ich auch nicht. oT. von: Tino
Geschrieben am: 21.01.2010 09:42:02




  

Betrifft: Ist hochgeladen von: Marek Prasnikar
Geschrieben am: 21.01.2010 10:39:38

Hallo Tino,

habe schon einiges probiert, es will nicht gelingen.

Gruß

Marek

https://www.herber.de/bbs/user/67377.xls


  

Betrifft: AW: Ist hochgeladen von: Tino
Geschrieben am: 21.01.2010 11:40:05

Hallo,
das Problem waren die gleichen Namen der beiden Diagramme.
Habe diese umbenannt und noch ein Eventmakro in die Tabelle 1 eingebaut,
jetzt wird dies automatisch gestartet bei Eingabe.

https://www.herber.de/bbs/user/67379.xls

Gruß Tino


  

Betrifft: AW: Ist hochgeladen von: Marek Prasnikar
Geschrieben am: 21.01.2010 11:44:10

Hallo Tino,

Super, besten Dank!

Gruß

Marek