Последняя точка - .SeriesCollection(1).Points(Points.count)
. В верхней части сабвуфера добавьте переменную для хранения последней позиции точки данных. После того, как вы создали серию, добавьте любой код форматирования в отдельном операторе With, чтобы «выделить» его. Пример, который добавляет метку данных, приведен в онлайн-документации Microsoft по объекту точек: https://docs.microsoft.com/en-us/office/vba/api/excel.points (объект)
Похоже, что вы уже использовали запись макросов, чтобы продвинуться так далеко , Иногда из этого получается дерьмовый код, но на самом деле я нахожу, что форматирование записи - это хорошее применение рекордера, поскольку код форматирования диаграммы широко не охватывается во многих местах в Интернете, и вам необходимо go много объектов / свойств глубоко сделайте что-нибудь простое, например, раскрасьте точку данных синим или что-то в этом роде.
В итоге:
Dim LastPoint as Long
...
Set my_range = Union(Selection, ActiveSheet.Range("A:A"))
ActiveSheet.Shapes.AddChart2(201, xlLine).Select
' when I recorded this, to go straight to an xychart, the code was
' ActiveSheet.Shapes.AddChart2(240, xlXYScatter).Select
LastPoint = ActiveChart.SeriesCollection(1).Points.Count
With ActiveChart
...
End With
With ActiveChart.SeriesCollection(1).Points(LastPoint) ' for example:
.MarkerSize = 7
.MarkerStyle = 8
.Format.Fill.ForeColor.ObjectThemeColor = msoThemeColorAccent2
End With