Добавить легенду к каждой точке с VBA - PullRequest
1 голос
/ 06 января 2020

Я хотел бы добавить легенду к некоторым точкам в моей диаграмме Excel, как вы можете видеть ниже.

chart with legends on points

Я могу контролировать цвет каждой точки Однако я не могу найти, как редактировать эту легенду. (На рисунке я создал и отредактировал его вручную, добавив тег.)

Я хотел использовать что-то вроде cht.Legend.LegendEntries(1).Value = "lol".

1 Ответ

0 голосов
/ 06 января 2020
Dim chSer As Series, j As Long, i As Long, SerPoints As Points
Dim shCh As Chart
Set shCh = ActiveChart
With shCh
    For Each chSer In .SeriesCollection
        Set SerPoints = chSer.Points
        j = SerPoints.count
        For i = 1 To j
            SerPoints(i).ApplyDataLabels Type:=xlDataLabelsShowBubbleSizes
            SerPoints(i).DataLabel.Text = "Whatever" & i
        Next
    Next
End With

Правильное объявление chChar и SerPoints может быть очень полезным. Вы можете использовать IntelliSense VBA, чтобы просмотреть все DataLabel свойства, а не только это ...

Например, вы можете добавить некоторые определения для так называемых меток в столбце рядом с серией диаграммы и назвать его «DataLabels». , затем используйте следующий код для автоматического применения содержащихся строк:

Dim rng as Range
Set rng = sh.Range(sh.Parent.Names("DataLabels").RefersToRange.Address)
 'and add the data in this way:
SerPoints(i).DataLabel.Formula = "=" & sh.Name & "!" & sh.Cells(rng.Row + i - 1, rng.Column).Address
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...