Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Beschriftung Diagramm durch zwei Zellen
#1
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
Antwortento top
#2
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
Antwortento top
#3
@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.


Angehängte Dateien
.xlsm   Diagramm.xlsm (Größe: 205,4 KB / Downloads: 1)
Antwortento top
#4
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
Antwortento top
#5
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.
Antwortento top
#6
@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 ;)
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste