HERBERS Excel-Forum - das Archiv

Thema: Gleichung der Trendlinie nicht gerundet!

Gleichung der Trendlinie nicht gerundet!
Carlo

Hallo Freunde!
Ich habe ein Problem mit dem Auslesen der Koefizienten einer Trenliniegleichung. Im Diagramm werden die Werte ungerundet aufgelistet, in der Tabelle (Anhang "D4:D7") jedoch werden sie gerundet dargestellt. Hier die entsprechende Code:
...
With co.Chart
.ChartType = xlXYScatterSmoothNoMarkers
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = Range("A2: A220")
.SeriesCollection(1).Values = Range("B2: B220")
.SeriesCollection.NewSeries
.SeriesCollection(1).Trendlines.Add(Type:=xlPolynomial, Order:=6, Forward:=0, Backward:=0, DisplayEquation:=True, DisplayRSquared:=False).Select
co.Chart.SeriesCollection(1).Trendlines(1).DataLabel.NumberFormat = "00000000.00000000000000000"
arrB = Koeff (co.Chart.SeriesCollection(1).Trendlines(1).DataLabel.Characters.Text, 6)
objSh.Range("q1").Value = co.Chart.SeriesCollection(1).Trendlines(1).DataLabel.Text
objSh.Cells(2, 4).Resize(UBound(arrB), 1) = Application.Transpose(arrB)
End With
...
Function Koeff(strT As String, Grad As Byte)
Dim strZ As String, arrA, arrB() As Double, ii As Long
ReDim arrB(Grad)
strZ = Replace(Replace(strT, "+ ", "+"), "- ", "-")
If Left(strZ, 1) = "y" Then strZ = Trim(Right(strZ, Len(strZ) - 1))
If Left(strZ, 1) = "=" Then strZ = Trim(Right(strZ, Len(strZ) - 1))
arrA = Split(strZ, " ")
For ii = 0 To UBound(arrA)
Select Case InStr(arrA(ii), "x")
Case 0:              arrB(0) = arrA(ii)
Case Len(arrA(ii)):  arrB(1) = Left(arrA(ii), Len(arrA(ii)) - 1)
Case Else:           arrB(Right(arrA(ii), 1)) = Left(arrA(ii), Len(arrA(ii)) - 2)
End Select
Next ii
Koeff = arrB
End Function

Hier das Bild:
Im Diagramm ungerundet in den Zellen (D4:D7)gerundet.
Userbild
Ist es prinzipiell nicht möglich die genauen Zahlen zu bekommen oder ist etwas falsch gedacht?
Freue mich auf eine Antwort
Grusz Carlo

AW: Gleichung der Trendlinie nicht gerundet!
Carlo

Nachtrag:
Die Koeffizienten stehen in D2:D7. (nicht D4:D7)

Gleichung der Trendlinie nicht gerundet!
Carlo

Hallo Freunde!
Ich habe ein Problem mit dem Auslesen der Koefizienten einer Trenliniegleichung. Im Diagramm werden die Werte ungerundet aufgelistet, in der Tabelle (Anhang "D4:D7") jedoch werden sie gerundet dargestellt. Hier die entsprechende Code:
...
With co.Chart
.ChartType = xlXYScatterSmoothNoMarkers
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = Range("A2: A220")
.SeriesCollection(1).Values = Range("B2: B220")
.SeriesCollection.NewSeries
.SeriesCollection(1).Trendlines.Add(Type:=xlPolynomial, Order:=6, Forward:=0, Backward:=0, DisplayEquation:=True, DisplayRSquared:=False).Select
co.Chart.SeriesCollection(1).Trendlines(1).DataLabel.NumberFormat = "00000000.00000000000000000"
arrB = Koeff (co.Chart.SeriesCollection(1).Trendlines(1).DataLabel.Characters.Text, 6)
objSh.Range("q1").Value = co.Chart.SeriesCollection(1).Trendlines(1).DataLabel.Text
objSh.Cells(2, 4).Resize(UBound(arrB), 1) = Application.Transpose(arrB)
End With
...
Function Koeff(strT As String, Grad As Byte)
Dim strZ As String, arrA, arrB() As Double, ii As Long
ReDim arrB(Grad)
strZ = Replace(Replace(strT, "+ ", "+"), "- ", "-")
If Left(strZ, 1) = "y" Then strZ = Trim(Right(strZ, Len(strZ) - 1))
If Left(strZ, 1) = "=" Then strZ = Trim(Right(strZ, Len(strZ) - 1))
arrA = Split(strZ, " ")
For ii = 0 To UBound(arrA)
Select Case InStr(arrA(ii), "x")
Case 0:              arrB(0) = arrA(ii)
Case Len(arrA(ii)):  arrB(1) = Left(arrA(ii), Len(arrA(ii)) - 1)
Case Else:           arrB(Right(arrA(ii), 1)) = Left(arrA(ii), Len(arrA(ii)) - 2)
End Select
Next ii
Koeff = arrB
End Function

Hier das Bild:
Im Diagramm ungerundet in den Zellen (D4:D7)gerundet.
Userbild
Ist es prinzipiell nicht möglich die genauen Zahlen zu bekommen oder ist etwas falsch gedacht?
Freue mich auf eine Antwort
Grusz Carlo

AW: Gleichung der Trendlinie nicht gerundet!
Carlo

Nachtrag:
Die Koeffizienten stehen in D2:D7. (nicht D4:D7)

Dialog-Beispiele
Bewerten Sie hier bitte das Excel-Portal