【发布时间】:2018-02-03 14:16:18
【问题描述】:
我有一本工作簿和以下表格 仪表板,IImpactchart。
仪表板,包含候选人名称、影响力参考和影响力参考
候选人 |影响 |影响
具有
的值候选人1,影响值=3,影响值=2
候选2,影响值=3,影响值=2
在图表中,我们需要在(3,2)的坐标中显示对应的行号。它仅针对单个候选人进行绘图。如果我们有更多具有相同值的候选者,则数据点将重叠在另一个之上。我们如何移动用逗号分隔的数据点?或任何其他方式。
附上图表 Please click here to see the Chart output
需要图表 Please click here to see the required chart
使用VBA
Dim Counter As Integer, ChartName As String, xVals As String
Application.ScreenUpdating = False
Dim c As ChartObject
Set c = Sheets("IImpactchart").ChartObjects("Chart 1")
c.Activate
xVals = ActiveChart.SeriesCollection(1).Formula
xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _
Mid(Left(xVals, InStr(xVals, "!") - 1), 9)))
xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1)
Do While Left(xVals, 1) = ","
xVals = Mid(xVals, 2)
Loop
For Counter = 1 To Range(xVals).Cells.Count
If (Range(xVals).Cells(Counter, 1).Offset(0, -1).Value = 0) Then
Exit Sub
End If
ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _
True
ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = Counter + 5
Next Counter
(计数器增加 5 以获得正确的行号) - 它的工作
现在我需要解决重叠问题。
帮助表示赞赏.. 谢谢
【问题讨论】:
-
你试过增加.DataLabel.Width吗?它可能会有所帮助。
-
感谢您的建议。不,我没有尝试过,但以下支持帮助了我...感谢您的支持