excel图表上缺少部分但不是全部数据标签
我正在创建一个包含以下代码的气泡图。它使用所有预期数据正确创建图表。。。除了在某些情况下,标签就是不显示。我已经排序并添加了值,检查了数据的范围等等,但似乎没有任何理由说明为什么有些标签会显示,有些标签不会显示 我有几个屏幕截图,其中一个显示值是在范围内选择的,而没有显示,数据点在范围内。很难获得所有的屏幕截图,但是第三个屏幕截图显示Co4缺失,即使这些值在数据标签属性中指出 有解决类似问题的经验吗 .DataLabels.Format.TextFrame2.TextRange.InsertChartField msoChartFieldRange,“=‘活动图表’!$p$18:$p$”&rgMap.Offset(-1,0)。行,0excel图表上缺少部分但不是全部数据标签,excel,vba,charts,label,Excel,Vba,Charts,Label,我正在创建一个包含以下代码的气泡图。它使用所有预期数据正确创建图表。。。除了在某些情况下,标签就是不显示。我已经排序并添加了值,检查了数据的范围等等,但似乎没有任何理由说明为什么有些标签会显示,有些标签不会显示 我有几个屏幕截图,其中一个显示值是在范围内选择的,而没有显示,数据点在范围内。很难获得所有的屏幕截图,但是第三个屏幕截图显示Co4缺失,即使这些值在数据标签属性中指出 有解决类似问题的经验吗 .DataLabels.Format.TextFrame2.TextRange.InsertCh
我检查了这些条目,但似乎不相关,几分钟后终于在我的电脑上找到了 下面是我为Excel 2013+调整的一段非常旧的代码 按以下顺序将数据放入四列:名称、X、Y和Z(气泡大小) 以下代码使用此数据创建气泡图,忽略任何非数据行(标题行或X、Y或Z为空的行)。它为每行生成一个单独的系列,使用第一列作为一点系列的名称,然后应用带有系列名称和气泡大小的标签
Sub OneRowPerBubbleSeries()
'' Takes 4-column range and constructs Bubble chart
'' Uses one series per row: Columns in order: Name, X, Y, Z
Dim wks As Worksheet
Dim cht As Chart
Dim srs As Series
Dim rng As Range
Dim rng1 As Range
Dim rownum As Integer
Dim bFirstRow As Boolean
Set wks = ActiveSheet
Set rng = Selection
Set cht = wks.Shapes.AddChart2(269, xlBubble3DEffect).Chart
bFirstRow = True
For rownum = 2 To rng.Rows.Count
Set rng1 = rng.Cells(rownum, 2).Resize(1, 3)
If IsNumeric(rng1.Cells(1, 1).Value) And _
IsNumeric(rng1.Cells(1, 2).Value) And _
IsNumeric(rng1.Cells(1, 3).Value) Then
'' First time: need to do it differently
If bFirstRow Then
cht.SetSourceData Source:=rng1, PlotBy:=xlColumns
bFirstRow = False
Else
Set srs = cht.SeriesCollection.NewSeries
End If
With cht.SeriesCollection(cht.SeriesCollection.Count)
.Values = rng1.Cells(1, 2)
.XValues = rng1.Cells(1, 1)
.BubbleSizes = "=" & rng1.Cells(1, 3).Address _
(ReferenceStyle:=xlR1C1, External:=True)
.Name = rng.Cells(rownum, 1)
.HasDataLabels = True
With .DataLabels
.Position = xlLabelPositionRight
.ShowSeriesName = True
.ShowValue = False
.ShowBubbleSize = True
.NumberFormat = "$#,##0"
End With
End With
End If
Next
End Sub
您正在引用
“=‘活动图表’!$P$18:$P$”等等
,但您不会告诉用户屏幕截图中的行和列。你发布的那一行代码相当孤独;其余的代码是什么样子的?我看不到要编辑的按钮,也不能在这个评论中发布那么多代码。但是我给了图表一系列的数据来分配点。它通常是有效的,但它们似乎会随着时间的推移而“吸引”,所以最终并不是所有的物种都会出现。我还注意到一些图表在format data label>fill菜单中有“按点显示颜色”,但气泡图没有该选项。这没关系,但我每次都试图重新绘制图表,但它似乎不允许我这样做……发布图表字段方法来标记点确实有问题。如果由于某种原因未打印点(例如,x或y值的空白单元格),则标签当然不会显示,但即使再次打印该点,标签也不会显示,或者永远不会显示。因为您正在为每个系列打印一个点,所以将带有标签Co1等的单元格作为系列名称,并将其包含在数据标签中。比使用任意范围的标签可靠得多。这是有道理的。只是范围必须能够改变。当标签出现时,问题就出现了,然后其中一个输入为空,标签掉了,然后我不能再添加了。下面是一些(丑陋的)图表代码<代码>带工作表(“活动图表”).ChartObjects(“图表8”).Chart.FullSeriesCollection(1).XValues=“=‘活动图表’!$Q$18:$Q$”&rgMap.Offset(-1,0)。行和rgMap.Offset.Values=“=‘活动图表’!$R$18:$R$”&rgMap.Offset(-1,0)。行的可实现性。气泡大小=“=‘活动图表’!$S$18:$S$”&rgMap.Offset(-1,0).行'MM USD结束,带