我需要使用公式在 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
这就是我让它工作的方法。
步骤 1:创建一个启用自动换行的新列,并=A1 & CHAR(10) & B1
在单元格中输入公式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