Beschriftung der Rubrikenachse mittels VBA

Bild

Betrifft: Beschriftung der Rubrikenachse mittels VBA
von: alex
Geschrieben am: 14.04.2005 10:37:09
Hallo,
ich habe ein kleines Problem mit der Beschriftung der Rubrikenachse.
Habe folgendes Makro programmiert. Das Problem ist leider dass bei der grafischen Darstellung die Beschriftung der Rubrikenachse falsch übernommen wird. Die Werte für die Beschriftung steht im Bereich A1 - F1. (0, 100, 250, 500, ...). In der grafischen Auswertung wird die Achse jedoch mit 1, 2, 3,... beschriftet.
Hat vielleicht jemand eine Lösung für dieses Problem?
Wär für jeden Tip dankbar.
Gruß Alex


Sub Diagramm()
  Dim xlWS As Object
    
  Dim xlRange As Range
  
  Dim lngNumRows As Long
  Dim lngNumCols As Long
  Set xlWS = ThisWorkbook.Worksheets("Daten Bewertung")
  lngNumRows = xlWS.Range("A1").End(xlDown).Row
  lngNumCols = xlWS.Range("A1").End(xlToRight).Column
  Set xlRange = xlWS.Range(xlWS.Cells(2, 1), xlWS.Cells(lngNumRows, lngNumCols))
 
  CreateChartObjectRange xlRange
  Set xlRange = Nothing
  Set xlWS = Nothing
End Sub

Bild

Betrifft: AW: Beschriftung der Rubrikenachse mittels VBA
von: Herbert H.
Geschrieben am: 14.04.2005 11:30:49
hallo alex,
ob du hier ein bestehendes aktualisieren willst,
oder überhaupt ein neues erstellen willst,
ist mir nicht ganz klar...
so kannst du ein neues erstellen:


Sub Diagramm()
Dim xlWS As Object, xlRange As Range
Dim lngNumRows As Long, lngNumCols As Long
Set xlWS = ThisWorkbook.Worksheets("Daten Bewertung")
  lngNumRows = xlWS.Range("A1").End(xlDown).Row
  lngNumCols = xlWS.Range("A1").End(xlToRight).Column
Set xlRange = xlWS.Range(xlWS.Cells(1, 1), xlWS.Cells(lngNumRows, lngNumCols))
 
Charts.Add
With ActiveChart
    .ChartType = xlLineMarkers
    .SetSourceData Source:=xlRange, PlotBy:=xlRows
    .Location Where:=xlLocationAsObject, Name:="Daten Bewertung"
End With
Application.SendKeys "{esc}"
Set xlRange = Nothing
Set xlWS = Nothing
End Sub

     gruß Herbert
Bild

Betrifft: AW: Beschriftung der Rubrikenachse mittels VBA
von: Alex
Geschrieben am: 14.04.2005 11:55:27
Hallo Herbert,
vielen Dank für deine schnelle Antwort. Hab vorher aus versehen nicht den ganzen Quellcode gepostet. Hier ist der ganze Code für die Grafische Auswertung von Testdaten.
Diese Auswertung soll immer wieder mit neuen Daten erstellt werden. Das Problem war dass die Rubrikenachse im Diagramm 1,2,3,... heißt. Die richtige Beschriftung soll jedoch lauten (0, 100, 250, ...) Diese Werte stehen in den Feldern A1 - F1. Leider bekomm ich es nicht hin, dass das Diagramm diese Werte für die Überschrift übernimmt.
Wär dir super-dankbar, wenn Du mir weiterhelfen könntest.
Gruß Alex

Sub Diagramm()
Dim xlWS As Object

Dim xlRange As Range

Dim lngNumRows As Long
Dim lngNumCols As Long
Set xlWS = ThisWorkbook.Worksheets("Daten Bewertung")
lngNumRows = xlWS.Range("A1").End(xlDown).Row
lngNumCols = xlWS.Range("A1").End(xlToRight).Column
Set xlRange = xlWS.Range(xlWS.Cells(2, 1), xlWS.Cells(lngNumRows, lngNumCols))

CreateChartObjectRange xlRange
Set xlRange = Nothing
Set xlWS = Nothing
End Sub

Sub CreateChartObjectRange(ByVal xlRange As Range)
  Dim oChart As Object
  Set oChart = Application.Charts.Add
  ActiveSheet.Name = ("Diagramm Bewertung")
  With oChart
    .ChartType = xlLineMarkers
    .SetSourceData Source:=xlRange, PlotBy:=xlRows
        
    'Beschriftung Diagramm
    .HasTitle = True
    .ChartTitle.Text = "Temperature"
    
    'Beschriftung Achsen
    .Axes(xlCategory, xlPrimary).HasTitle = True
    .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Cycles"
    .Axes(xlValue, xlPrimary).HasTitle = True
    .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Relative optical Power"
   End With
   oChart.HasLegend = False
   oChart.HasDataTable = False
    Set oChart = Nothing
End Sub

Bild

Betrifft: AW: Beschriftung der Rubrikenachse mittels VBA
von: Herbert H.
Geschrieben am: 14.04.2005 12:23:16
hast du dir dises Zeile von meinem Makro angesehen...
Set xlRange = xlWS.Range(xlWS.Cells(1, 1), xlWS.Cells(lngNumRows, lngNumCols))
gruß Herbert
Bild

Betrifft: AW: Beschriftung der Rubrikenachse mittels VBA
von: Alex
Geschrieben am: 14.04.2005 12:52:38
hallo herbert,
ja hab das auch schon versucht. Leider erscheint dann das diagramm mit lediglich der werte von A1 - F1 (0, 100, 250, ...). Die Beschriftung der Größenachse würde jetzt die Werte anzeigen, die ich gerne für die Rubrikenachse hätte.
Die Beschriftung der Rubrikenachse bleibt jedoch weiterhin bei 1,2,3,...
Bild

Betrifft: AW: Beschriftung der Rubrikenachse mittels VBA
von: Herbert H.
Geschrieben am: 14.04.2005 13:08:43
könntest du eine Mustertabelle mit dem Makro hochladen...
gruß Herbert
Bild

Betrifft: AW: Beschriftung der Rubrikenachse mittels VBA
von: Alex
Geschrieben am: 14.04.2005 13:17:31
Hallo Herbert,
anbei mein excel - file.
https://www.herber.de/bbs/user/21141.xls
vielen dank
gruß alex
Bild

Betrifft: AW: Beschriftung der Rubrikenachse mittels VBA
von: Herbert H.
Geschrieben am: 14.04.2005 13:57:48
warum machst du das nicht in einem Makro:


Sub Diagramm()
Dim xlWS As Object, xlRange As Range
Dim lngNumRows As Long, lngNumCols As Long
Dim oChart As Object, xv
xv = Array([a1], [b1], [c1], [d1], [e1], [f1])
Set xlWS = ThisWorkbook.Worksheets("Daten Bewertung")
  lngNumRows = xlWS.Range("A1").End(xlDown).Row
  lngNumCols = xlWS.Range("A1").End(xlToRight).Column
Set xlRange = xlWS.Range(xlWS.Cells(2, 1), xlWS.Cells(lngNumRows, lngNumCols))
  
Application.ScreenUpdating = False
Set oChart = Application.Charts.Add
ActiveSheet.Name = ("Diagramm Bewertung")
  
  With oChart
    .ChartType = xlLineMarkers
    .SetSourceData Source:=xlRange, PlotBy:=xlRows
        
    'Beschriftung Diagramm
    .HasTitle = True
    .ChartTitle.Text = "Auswertung"
    
    'Beschriftung Achsen
    .Axes(xlCategory, xlPrimary).HasTitle = True
    .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Zyklen"
    .Axes(xlValue, xlPrimary).HasTitle = True
    .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Power"
    .SeriesCollection(1).XValues = xv
   End With
       
   oChart.HasLegend = False
   oChart.HasDataTable = False
  ActiveWindow.Zoom = 85
  ActiveChart.Deselect
  Application.ScreenUpdating = True
Set oChart = Nothing
Set xlRange = Nothing
Set xlWS = Nothing
End Sub

     
gruß Herbert
Bild

Betrifft: AW: Beschriftung der Rubrikenachse mittels VBA
von: Alex
Geschrieben am: 14.04.2005 14:40:19
Hallo Herbert,
jetzt klappt es. vielen dank für deine hilfe.
Gruß Alex
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Beschriftung der Rubrikenachse mittels VBA"