我希望将自定义数据标签添加到Excel 2010中的堆叠条形图中。每个条形图都有一个标签值,该标号值是从工作表中的值中提取出来的,该值不一定等于条形图本身的高度。
我正在制作的工作表是一个模板,具有下拉选择以更改数据的单位。例如:1小数点的$MM,2小数点的K,0小数点的$等等。我遇到了一个设置标签格式以匹配数据格式选择的问题。我试过两种方法:
With ActiveChart.SeriesCollection(x).Points(y)
.DataLabel.Text.NumberFormat = "$#,##0.0,"
不幸的是,标签似乎没有读取逗号和除以一千,所以我不能准确地显示数千或数百万。上述代码中的值1000将显示为$1,000.0,而不是所需的$1.0。
.DataLabel.Text = Cells(r,c)
读取它们。不幸的是,尽管数据被正确格式化,但是值没有变化,标签显示时根本没有自定义格式。
有什么合理的方法来达到我的目标吗?我希望有这样一种方法:(1)在更改数据标签编号格式时使用逗号,或者(2)根据格式下拉选择(而不是仅仅给它们自定义格式,使值保持不变)来更改工作表中数据的实际值。
谢谢你,兰斯
发布于 2015-02-18 16:11:57
我认为“条件格式”这个词是您的问题:当一个单元格有条件格式化时,我在读取它的底层格式时遇到了问题(诚然,我的问题是颜色,而不是数字格式,但我希望它不起作用的原因是一样的)。
如果采用第二种方法,即使用图表的“链接到源”选项依赖工作表的格式,那么当下拉选项更改时,您可以使用VBA在工作表上设置格式,而不是使用条件格式--然后图表将获取您使用的任何格式。
发布于 2016-02-19 06:00:52
请试试这个:
?Format(1000,"$#,##0.0,")
$1.000,0
?Format(1000,"$#,##0,.0")
$1,0
?Format(1234,"$#,##0,.0")
$1,2
https://stackoverflow.com/questions/28593435
复制