【发布时间】:2012-04-11 17:03:35
【问题描述】:
我需要将 Excel 图表中的 X-ticklabels 舍入到最接近的 50。图表是在 VBA 中创建的,数据系列在工作表中,所以我很乐意在其中使用任何一个解决方案。我编写了以下四舍五入到最接近 50 的函数:
Function RoundTo50(number As Double) As Double
RoundTo50 = WorksheetFunction.Round(number * 2, -2) / 2
End Function
我已将它应用于图表的最小和最大 x 限制并且它适用于它们,但我无法弄清楚如何将它应用于其间的所有刻度标签。我想在绘图之前将其应用于所有数据,但这会改变我不想做的绘图。由于四舍五入,我希望刻度标签稍微未对齐。
你能用格式化字符串做到这一点吗?还是其他方式?
谢谢
【问题讨论】:
-
将 X 轴的主要刻度间隔和次要刻度间隔更改为 50 是否有效?
-
哈哈 - 可能。我明天检查一下。我正在计算滴答间隔,以便在我需要四舍五入之前给我一个特定数量的间隔,所以我忘记了我可以将它设置为一个常数。
-
这不是那么简单(几乎,但不完全),因为数字的范围很大,50 的间隔太小了。因此,我在当前间隔上使用了上面的 RoundTo50 代码。我将发布代码作为答案,以便我可以关闭这个问题。不过谢谢你的想法,它让我成功了 90%!