데이터 레이블의 Excel 수식에 내장된 문자열에 줄 바꿈 넣기

데이터 레이블의 Excel 수식에 내장된 문자열에 줄 바꿈 넣기

두 셀 사이에 줄 바꿈이 있는 문자열을 작성하는 수식을 사용하여 Excel 차트에서 데이터 레이블을 구성해야 합니다.

이것은 셀 수식에서 작동합니다.

=A1 & CHAR(10) & B1

그리고 이것은 VBA에서 작동합니다

=A1 & Chr(10) & B1

이 게시물에서와 같이:http://www.ozgrid.com/forum/showthread.php?t=40644그러나 이러한 접근 방식 중 어느 것도 데이터 레이블 내부에서는 작동하지 않습니다. 어떤 아이디어가 있나요?

답변1

VBA에서는 다음을 사용할 수 있습니다.

Dim str as String

str = Range("A").Value & vbCrlf & Range("B").Value

vbCrlf는 줄바꿈을 제공합니다...

답변2

이것은 VBA에서 저에게 효과적이었습니다.

Sheet1.ChartObjects(1).Chart.SeriesCollection(1).Name = "a" & vbCr & "b"

그리고 말했듯이 이것은 다음 공식으로 작동합니다.

=DATASERIES(Sheet1!$E$1,Sheet1!$A$2:$A$4,Sheet1!$B$2:$B$4,1)

E1 = "a" & CHAR(10) & "b"

E1에는 줄 바꿈이 설정되어 있어야 합니다.

DATASERIES는 시리즈를 선택할 때 수식 편집 섹션에 표시되는 것입니다.

답변3

그래서 이것이 제가 작동하게 된 방법입니다.

=A1 & CHAR(10) & B11단계: 셀의 수식을 사용하여 단어 줄 바꿈이 활성화된 새 열을 만들고 C1적절하게 아래로 드래그합니다.

2단계: 다음 VBA 코드를 실행하여 각 데이터 레이블이 올바른 셀을 가리키도록 설정합니다.

Sub SetDataLabels()

    Dim ChartName As String
    ChartName = "My Chart's Name"

    With ActiveSheet.ChartObjects(ChartName).Chart

        Dim Series As Integer
        Series = 4

        With .SeriesCollection(Series)

            Dim currentPoint As Integer

            For currentPoint = 1 To .Points.Count

                .Points(currentPoint).DataLabel.Text = Range("C" & currentPoint).Text

            Next currentPoint
        End With

    End With

End Sub

관련 정보