두 셀 사이에 줄 바꿈이 있는 문자열을 작성하는 수식을 사용하여 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) & B1
1단계: 셀의 수식을 사용하여 단어 줄 바꿈이 활성화된 새 열을 만들고 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