Microsoft Excel

Herbers Excel/VBA-Archiv

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

VBA Diagramm Balkenbeschriftung ausrichten

Betrifft: VBA Diagramm Balkenbeschriftung ausrichten von: Spenski
Geschrieben am: 01.10.2014 01:33:24

Hallo
ich benutze einen code um aus einer tabelle per vba ein diagramm zu erstellen und als .png abzuspeichern.

klappt soweit ganz gut.

mein problem liegt bei der ausrichtung der ausrichtung der beschriftung (siehe bild)

hier der codeteil für die balkenbeschriftung:

ActiveChart.SeriesCollection(1).ApplyDataLabels
ActiveChart.SeriesCollection(1).DataLabels.Select
Selection.ShowSeriesName = True
Selection.ShowValue = False
Selection.Position = xlLabelPositionInsideBase
Selection.Orientation = 90



suche nach einer von zwei lösungen

a) alle balkenbeschriftungen werden auf einer linie (wie bei den positiven im bild) angezeigt , eal ob positiv oder negativ

b) negative balken werden über der achse beschriftet und positive balken werden unter der achse beschriftet.

jemand eine idee? oder ein tipp nach was ich suchen muss?

der code ist nicht von mir und bin auch eher leihe

gruss und danke

  

Betrifft: AW: VBA Diagramm Balkenbeschriftung ausrichten von: Beverly
Geschrieben am: 01.10.2014 08:51:19

Hi,

Die Beschriftung der Säulen lässt sich z.B. so manipulieren:

Sub DiaBeschriftung()
    Dim lngReihe As Long
    Dim dblAchse As Double
    Dim serReihe As Series
    Application.ScreenUpdating = False
    With ActiveSheet.ChartObjects(1).Chart
        dblAchse = ActiveSheet.ChartObjects(1).Chart.Axes(xlCategory).Top
        For lngReihe = 1 To .SeriesCollection.Count
            Set serReihe = .SeriesCollection(lngReihe)
            With serReihe
                If .HasDataLabels = True Then .DataLabels.Delete
                .ApplyDataLabels
                .DataLabels.ShowSeriesName = True
                .DataLabels.ShowValue = False
                .HasLeaderLines = False
                If .Values(1) > 0 Then
                    .Points(1).DataLabel.Top = dblAchse + 10
                Else
                    .Points(1).DataLabel.Top = dblAchse - .Points(1).DataLabel.Height - 10
                End If
            End With
        Next lngReihe
    End With
    Application.ScreenUpdating = True
End Sub

GrußformelBeverly's Excel - Inn


  

Betrifft: AW: VBA Diagramm Balkenbeschriftung ausrichten von: Spenski
Geschrieben am: 02.10.2014 00:19:30

Ja

Danke für die Antwort. Mal gucken ob ich da als Anfänger was mit anfangen kann

Gruss


  

Betrifft: VBA Diagramm Säulenbeschriftung ausrichten von: Beverly
Geschrieben am: 02.10.2014 07:22:32

Hi,


da du nichts Konkretes über dein Diagramm geäußert hast, bin ich davon ausgegangen, dass es sich um ein ins Tabellenblatt eingebettetes Diagrammobjekt handelt und dass nur 1 Diagramm vorhanden ist.

Den Code einfach in ein allgemeines Modul kopieren und ausführen. Das Tabellenblatt mit dem Diagramm muss beim Ausführen aktiv sein.


GrußformelBeverly's Excel - Inn


 

Beiträge aus den Excel-Beispielen zum Thema "VBA Diagramm Balkenbeschriftung ausrichten"