Excel 차트 - 계열 수를 계산한 다음 마지막 지점에 데이터 레이블 추가

Excel 차트 - 계열 수를 계산한 다음 마지막 지점에 데이터 레이블 추가

차트에서 첫 번째 계열의 마지막 지점을 찾고 데이터 레이블을 추가하고 서식을 지정하는 매크로를 만들었습니다. 이제 숫자가 변경될 수 있는 시리즈를 차트에서 계산하고 시리즈 1에서 수행한 작업을 각 시리즈에서 반복하도록 만들고 싶습니다.

비참하게 실패합니다. 시도했지만 실패한 부분을 주석으로 표시했습니다.

내가 한 일을 어떻게 순환하는지 잘 모르겠습니다.

도움을 주시면 감사하겠습니다.

남자 이름.

Dim MyChart As Chart
Dim ChartPoints As Points
Dim ChartDataLables As DataLabel
'Dim NumberOfSeries As Series

Set MyChart = ActiveSheet.ChartObjects("Chart 1").Chart

'Set NumberOfSeries = MyChart.SeriesCollection.Count

Set ChartPoints = MyChart.SeriesCollection(1).Points
ChartPoints(ChartPoints.Count).ApplyDataLabels
Set ChartDataLables = ChartPoints(ChartPoints.Count).DataLabel

 'For Each NumberOfSeries In MyChart
 With MyChart
     With ChartDataLables
    .Position = xlLabelPositionRight
    .HorizontalAlignment = xlCenter
    .Font.Size = 8
    .NumberFormat = "0.00"
    .ShowSeriesName = True
    .Font.Name = "Arial Narrow"
     End With
 End With
  'Next NumberOfSeries
 End Sub

내 원래 매크로는 Google/포럼의 도움과 시행착오를 통해 작성되었습니다.

답변1

VBA가 필요하지 않습니다(VBA를 좋아하지 않는 한). 다른 값이 있는지 평가하는 도우미 시리즈를 만드세요(저는 오프셋 수식을 사용합니다). 데이터 계열에 "다음" 값이 없으면 현재/마지막 값을 반환합니다. 그렇지 않으면 #N/A를 반환합니다. 그런 다음 이 도우미 시리즈를 차트에 추가하고 레이블/형식을 원하는 대로 추가하세요. 차트는 모든 N/A를 무시하고 최종 데이터 포인트만 표시합니다. 이는 다른 주요 값(예: 첫 번째, 높음, 낮음 등)을 찾는 데에도 사용할 수 있습니다.

여기에 이미지 설명을 입력하세요

답변2

차트의 각 계열을 반복합니다.

Option Explicit

Public Sub LoopThroughSeries()
    Dim myChart As ChartObject
    Dim mySeries As Series

    With myChart
        For Each mySeries In myChart.Chart.SeriesCollection
            'do stuff
        Next
    End With

End Sub

관련 정보