Page 329 - Excel for Scientists and Engineers: Numerical Methods
P. 329

306                                        EXCEL: NUMERICAL METHODS



                 Sub TrendlineToCell()
                 'Tranfers Trendline text to cell as formula.
                 'REMEMBER LOCATION OF CHART
                 If TypeName(ActiveSheet) = "Chart" Then
                  ChartSheetNarne = ActiveSheet.Name
                 Else
                  pointer = Application.Find("Chart", ActiveChart.Name)
                  ChartObjectName  = Mid(ActiveChart.Name, pointer, 100)
                 End If

                 'MAKE SURE A TRENDLINE IS SELECTED.
                 On Error GoTo Badselection
                 'Selection.Narne  e.g., "Text S3T1"
                 If Selection.Name Like "Text S*T*" Then
                  pointer = Application.Find("T",  Selection.Name, 3)
                  SeriesNum = Val(Mid(Selection.Name,  7, pointer - 7))
                  TrendlineNum = Val(Mid(Selection.Name, pointer + 1, 3))
                 Else
                 Badselection: MsgBox "You must select a Trendline label."
                 Exit Sub
                 End If
                 On Error GoTo 0
                 'CHANGE NUMBER FORMAT TEMPORARILY TO GET SUFFICIENT PRECIS101
                 TLNurnberFormat = Selection.NumberFormat
                 Selection.Num berFormat = "0.0000000000E+00
                 'CONVERT TRENDLINE TEXT TO AN EXCEL FORMULA
                 'First, strip off y and R parts
                 TLText = Selection.Characters.Text
                 pointer = Application.Find("=",  TLText)
                 TLText = Mid(TLText, pointer, 1024)
                 If Not (IsError(Application.Find("R, TLText))) Then
                 pointer = Application.Find("R,  TLText)
                 TLText = Left(TLText, pointer - 2)
                 End If
                 'CONVERT DIFFERENT TYPES OF TRENDLINE EQUATIC, I
                 Select Case ActiveChart.SeriesCoIlection(SeriesNum) -
                  .Trendlines(TrendlineNum).Type
                 Case -4132  'Linear
                   TLText = Application.Substitute(TLText, "x", "*x")
                 Case -41  33  'Logarithmic
                  TLText = Application.Substitute(TLText, "L", "*L")
                 Case 3  'Polynomial
                  TLText = Application.Substitute(TLText, "x", "*xA")
                  TLText = Application.Substitute(TLText, "xA ", "x ")
                 Case 4  'Power
                  TLText = Application.Substitute(TLText, "x", "*xA")
                 Case 5  'Exponential
                  TLText = TLTexi 8, "Y'
   324   325   326   327   328   329   330   331   332   333   334