我在 Excel 2010 中生成值,最初将它们放入数组中,然后将它们复制到工作表中以用作对数混合 x 轴的数据标签(实际上调用 Chart Labeller 来执行此操作,但是当我通过 Excel 手动应用时也会发生这种情况)。在大多数情况下,这可以正常工作,没有问题。然而,在某些情况下,一些(但不是全部)数据标签不可见,即使工作表中的数据在那里,手动选择数据标签也会显示选择的不可见标签。
我发现了什么,我认为这可能是 Excel 中的一个错误,当我转到工作表并重新输入图表上未显示的值时,它会显示在图表上。
这是我对数组的点心:
Dim chart_labeler_info_x()
这是我填充数组的方式:
'Assuming we are going to do the x-axis
ReDim chart_labeler_info_x(1 To x_axis_interval_num, 1 To 3)
For k = 1 To x_axis_interval_num
'Column 1 is the new chart label value, column 2 is the y value of the new series , column 3 is the x value(equivalent to 111...)
'--------------------------------------------------------
chart_labeler_info_x(k, 1) = suf_ize(10 ^ (Log(x_axis.MinimumScale) / Log(10#) + (k - 1)))
chart_labeler_info_x(k, 2) = y_axis.MinimumScale
chart_labeler_info_x(k, 3) = 10 ^ (Log(x_axis.MinimumScale) / Log(10#) + (k - 1))
'--------------------------------------------------------
Next k
这是我在工作表上初始化范围的方法:
Set new_labeler_ws_x_axis = Sheets.Add
new_labeler_ws_x_axis.Name = Chart_for_series & "Eng_Labels_X_Axis"
new_labeler_ws_x_axis.Range("a1:c" & x_axis_interval_num).Value = chart_labeler_info_x
new_labeler_ws_x_axis.Range("a1:c" & x_axis_interval_num).Font.Name = "Arial"
new_labeler_ws_x_axis.Range("a1:c" & x_axis_interval_num).Font.Size = 7
我还创建了一个附加到这个范围的新系列:
With ActiveChart.SeriesCollection.NewSeries
.XValues = Sheets(new_labeler_ws_x_axis.Name).Range("C1:C" & x_axis_interval_num)
.Values = Sheets(new_labeler_ws_x_axis.Name).Range("B1:B" & x_axis_interval_num)
.Name = "=""Labeller_x"""
.Border.Color = RGB(0, 0, 0)
.Format.line.Visible = True
End With
工作表中生成的数据如下所示:
1m 100 0.001
10m 100 0.01
100m 100 0.1
1 100 1
10 100 10
100 100 100
1k 100 1000
第 1 列包含将用作新数据标签的值。第 2 列是 y 值,第 3 列是实际 x 值。(如果有帮助,我可以附上工作表。)
这是我正在谈论的图像:
您注意到应该在那里的 1k 数据标签不可见。
我可以使 1k 数据标签出现以下两种方式之一:
- 扩展系列的最大值,在本例中为 10,000 (10k),在这种情况下显示 1k 标签。
- 手动转到工作表,选择具有 1000 值的单元格,重新输入值 1000 并按回车,然后数据标签显示为 1k。
其他一些有趣的异常,当最大值为 100 时,100 的数据标签也消失了。随着最大值增加到超过 1000,数据标签都显示出来似乎没有问题。
我尝试将数字格式(一般是数字格式)更改为带两位小数的数字,但没有运气。更改为文本并返回,没有运气。
我认为这是一个错误,但尚未在信息中找到,那里的任何专家都可以对此有所了解吗?