Я хотел бы запустить этот же код в двух книгах. Код размещает метки данных на диаграмме рассеяния xy. Вот код:

Sub AttachLabelsToPoints()

   'Dimension variables.
   Dim Counter As Integer, ChartName As String, xVals As String

   ' Disable screen updating while the subroutine is run.
   Application.ScreenUpdating = False

   'Store the formula for the first series in "xVals".
   xVals = ActiveChart.SeriesCollection(1).Formula

   'Extract the range for the data from xVals.
   xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _
      Mid(Left(xVals, InStr(xVals, "!") - 1), 9)))
   xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1)
   Do While Left(xVals, 1) = ","
      xVals = Mid(xVals, 2)
   Loop

   'Attach a label to each data point in the chart.
   For Counter = 1 To Range(xVals).Cells.Count
     ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _
         True
      ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _
         Range(xVals).Cells(Counter, 1).Offset(0, -1).Value
   Next Counter

End Sub

Есть ли способ это исправить?

1 ответ1

0

Сохраните этот код в надстройке VSTO (xla или xlax) и добавьте ссылку на него в любое количество рабочих книг. Чтобы узнать о VSTO (надстройке для Excel), ознакомьтесь со следующим: https://msdn.microsoft.com/en-us/library/cc668205.aspx

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .