У меня есть макрос, который строит график и записывает уравнение сбоку (см. Рисунок ниже), коды следующие:
Sub PopulateData(CurrentChart As Chart, SiteNames As Range)
Dim DataCount As Integer
Dim Dataindex As Integer
Dim LastRow As Integer
Dim DataColLet As String
Dim LastLegend As Integer
Dim SeriesCount As Integer
LastRow = ActiveSheet.Cells(2, 1).End(xlDown).Row
DataCount = SiteNames.Count
SeriesCount = 1
With CurrentChart
'Going through each Data Set
For i = 2 To DataCount
If SiteNames(i).Font.Strikethrough = False Then
'Gets the data column letter
DataColLet = ToColletter(ActiveSheet.Rows(2).Find(What:=SiteNames(i), LookIn:=xlValues).Column)
'Create a series to load the data
.SeriesCollection.NewSeries
.ChartArea.Font.Size = 14
On Error Resume Next
With .SeriesCollection(SeriesCount)
'Load the data
.XValues = "=" & ActiveSheet.Name & "!$A$3:$A$" & LastRow
.Values = "=" & ActiveSheet.Name & "!$" & DataColLet & "$3:$" & DataColLet & "$" & LastRow
'Add the trend line
.Trendlines.Add
.Trendlines(1).Type = xlPower
.Trendlines(1).DisplayEquation = True
'Formats the points and trendline
.Trendlines(1).DataLabel.Font.ColorIndex = i + 7
.Trendlines(1).Border.ColorIndex = i + 7
.MarkerStyle = 8
.MarkerBackgroundColorIndex = i + 7
.MarkerForegroundColorIndex = i + 7
Application.Wait (Now + TimeValue("00:00:01") / 1000)
ActiveSheet.Cells(SiteNames(i).Row, 1) = ActiveSheet.Cells(SiteNames(i).Row, 1) & " " & .Trendlines(1).DataLabel.Text
.Trendlines(1).DataLabel.Delete
.Name = "=" & ActiveSheet.Name & "!$A$" & SiteNames(i).Row
End With
LastLegend = .Legend.LegendEntries.Count
.Legend.LegendEntries(LastLegend).Delete
SeriesCount = SeriesCount + 1
End If
Next
End With
End Sub
Ниже приведен график с уравнением, сгенерированным после выполнения macro.
График с уравнением
Однако, если запустить тот же код в Excel 2016, уравнение не будет сгенерировано в моем файле. Ниже приведен график без сгенерированного уравнения.
График без уравнения
Следовательно, я могу знать, какой код необходимо настроить так, чтобы уравнение могло быть сгенерировано на Excel 2016? Следующий код .Trendlines(1).DisplayEquation = True
уже введен, поэтому я могу знать, в чем заключается проблема с тем, что уравнение не генерируется? Спасибо.