Clever-Excel-Forum

Normale Version: Beschriftung Diagramm durch zwei Zellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
ich erzeuge ein Punktdiagramm, welches ich gerne beschriften möchte. Dies soll je der erste Buchstabe des Nach- und des Vornamens sein. Leider wird mir jedoch nur der erste Buchstabe des Nachnamens angezeigt, hat da jemand eine Idee?

Code:
Sub ErzeugungGraph()

Dim data As Worksheet
Dim name As Range
Set data = ActiveWorkbook.Worksheets("Gehaltsdaten")

Application.ScreenUpdating = False
Worksheets("Gehaltsdaten").Activate
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=data.Range("A3:AC3000")

ActiveChart.SeriesCollection.NewSeries
   ActiveChart.SeriesCollection(1).XValues = "=Gehaltsdaten!$G$3:$G$800"
   ActiveChart.SeriesCollection(1).Values = "=Gehaltsdaten!$AC$3:$AC$800"
   
        
  
ActiveChart.location Where:=xlLocationAsObject, _
  name:=ThisWorkbook.Worksheets(4).name
 
   With ActiveChart
   
       .PlotArea.Format.Fill.ForeColor.ObjectThemeColor = msoThemeColorBackground1
       .HasLegend = False
       .Parent.Height = 600
       .Parent.Width = 1200
       .HasTitle = True
       .HasTitle = False
       .Axes(xlCategory, xlPrimary).HasTitle = True
       .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Alter"
       .Axes(xlValue, xlPrimary).HasTitle = True
       .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "JEK 35H"
       .Axes(xlValue).MinimumScale = 0
       .Axes(xlCategory).MaximumScale = 80
       .SeriesCollection(1).Format.Fill.ForeColor.RGB = rgbBlue
       
   End With
   
Worksheets(4).ChartObjects(1).Activate

With ActiveChart

   .Axes(xlValue).AxisTitle.Font.Size = 20
   .Axes(xlCategory).AxisTitle.Font.Size = 20
   .PlotArea.Interior.ColorIndex = 15
   
End With

      Call BeschriftungDiagramm
       
End Sub


Sub BeschriftungDiagramm()

Dim lngPunkt As Long
Dim data As Worksheet

Set data = ActiveWorkbook.Worksheets("Gehaltsdaten")

  With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
     .ApplyDataLabels
     For lngPunkt = 1 To .Points.Count
        .Points(lngPunkt).DataLabel.Text = Left(data.Cells(lngPunkt + 2, 2), 1) & " " & Left(data.Cells(lngPunkt + 2, 3), 1)
                 
     Next lngPunkt
     
  End With
 
End Sub
Morgen,

Zitat:ich erzeuge ein Punktdiagramm, welches ich gerne beschriften möchte. Dies soll je der erste Buchstabe des Nach- und des Vornamens sein. Leider wird mir jedoch nur der erste Buchstabe des Nachnamens angezeigt, hat da jemand eine Idee?
im Zusammenhang mit einer Beispieldatei und dem Code kann ich das vielleicht herausfinden
@Wastl, vielen Dank für deine Hilfe!

Die Datei mag komisch aussehen, da ich unrelevante Daten gelöscht habe. Im Prinzip greife ich auf die Daten in "Gehaltsdaten" zu und will in "Sternenhimmel" ein Diagramm erzeugen. Mein Vorgänger hatte damals manuell die Daten ausgewählt, welche ich mit dem Sub BeschriftungDiagramm beschriftet habe, was auch wie gewünscht mit den Werten der beiden Zellen aus Vor- und Nachname funktioniert hat.

Da ich nun die Graphik selbst erzeuge, funktioniert es leider nicht mehr so wie gewollt.
Morgen,

Eingabe im Direktbereich deckt auf, dass bei dir der vorname1 mit einem Leerzeichen beginnt.
wenn du das änderst in
Code:
        .Points(lngPunkt).DataLabel.Text = Left(data.Cells(lngPunkt + 2, 2), 1) & " " & Mid(data.Cells(lngPunkt + 2, 3), 2, 1)
Also erst das 2. Zeichen nimmst klappts.

Für die Zukunft setzte dich am Besten mal mit dem Direktbereich auseinander, er hilft dir viel:
http://www.online-excel.de/excel/singsel_vba.php?f=105
Morgen,

mal ne Frage:
Was machst du mit den Diagrammen?
Wenn du nur die Inhalte ändern willst kannste das ja auch machen, und deine ganzen erstellten Formatierungen stehen lassen.
Ich habe früher monatlich 100e Diagramme erzeugen dürfen für powerpoint. Ich hatte 1 einziges Diagramm in Excel, jedesmal die Datenbasis geändert und als Bild nach PP geschoben. So waren von den Abmessungen und der Positionierung alle Diagramme absolut identisch.
@Wastl, danke du hast mir unglaublich weitergeholfen, das mit dem Leerzeichen ist mir nicht aufgefallen!

Ich habe eine Werkstudentestelle angefangen und soll dabei diverse Auswertungen basierend auf Gehälterkenntwerten erstellen. Da ich nicht aus dem IT Bereich, sondern Ingenieursbereich komme, fehlen mir noch ein paar Grundlagen.
Bisher soll es bei dem einem Diagramm bleiben, in dem man durch filtern nach Kriterien wie Dienstjahren, Alter etc. eventuelle Ausreißer aufdecken kann/soll. Sofern ich etwas für PP in Zukunft brauche, erinnere ich mich an deinen Tipp ;)