Thema Datum  Von Nutzer Rating
Antwort
Rot [VBA] ActiveChart.SeriesCollection().name als Range
13.06.2018 10:18:03 Jonas
NotSolved

Ansicht des Beitrags:
Von:
Jonas
Datum:
13.06.2018 10:18:03
Views:
790
Rating: Antwort:
  Ja
Thema:
[VBA] ActiveChart.SeriesCollection().name als Range

Hallo,

ich möchte gerne meine Datenpunkte jeweils mit dem ersten Buchstaben der 2. und der 3. Spalte benennen. Jedoch weiß ich nicht, wie ich ActiveChart.SeriesCollection().name als Range definieren kann. Wenn ich dies mit = "=Gehaltsdaten!$B$3:$C$800" machen will, bekomme ich eine Fehlermeldung.

Anbei mein aktueller Code, welcher lediglich nur die 2. Spalte betrachtet.

 

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.SeriesCollection(1).name = "=Gehaltsdaten!$B$3:$B$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

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot [VBA] ActiveChart.SeriesCollection().name als Range
13.06.2018 10:18:03 Jonas
NotSolved