Oberflächendiagramm VBA
24.05.2008 11:44:00
Olli
stecke in den ersten VBA-Versuchen und habe mir einen Code zusammengeschustert.....aber leider funzt er nicht. :-/
und zwar möchte ich ein Oberflächendiagramm mittels VBA erstellen. Problematisch ist, dass die Reihen nicht nebeneinander, sondern untereinander stehen. Es sind Jahreswerte über 50 Reiehn. Diese des öfteren in ein Diagramm zu klöppeln ist sehr umständlich... habe bisher folgendes verzapft :-P
Function RangeToAddress(Ra As Range) As String
RangeToAddress = "='" & Ra.Parent.Name & "'!" & _
"R" & CStr(Ra.Row) & "C" & CStr(Ra.Column) & ":" & _
"R" & CStr(Ra.Rows.Count + Ra.Row - 1) & "C" & CStr(Ra.Column)
End Function
Sub Schaltfläche2_BeiKlick()
Dim vrng As Range
Dim xrng As Range
Charts.Add
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.ChartType = xlSurface
For m = 1 To 50
Set vrng = Range(Cells(9 + (m - 1 * 365), 4), Cells(378 + (m - 1 * 365), 4))
ActiveChart.SeriesCollection(m).Values = RangeToAddress(vrng)
Set xrng = Range("E" & 9 + (m - 1 * 365), "E" & 365 + (m - 1 * 365))
ActiveChart.SeriesCollection(m).XValues = RangeToAddress(xrng)
Next
With ActiveChart
.HasAxis(xlCategory) = True
.HasAxis(xlSeries) = True
.HasAxis(xlValue) = True
End With
ActiveChart.Axes(xlCategory).CategoryType = xlAutomatic
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlBottom
End Sub
Leider funzt das mit der Schleife nicht... falls mir jemand helfen kann, würde ich mich sehr freuen ....
Mfg
Olli