数百张Excel图表的小数位数

数百张Excel图表的小数位数,excel,graph,format,vba,Excel,Graph,Format,Vba,如果我正在处理数百个图形,它们现在正在自动设置y轴,那么我如何消除10.0%、20.0%,并将其简化为10%、20%(节省2个字符)?我使用的是Excel 2010,不想弄乱自动格式,因为有时我需要小数点后的百分比,比如失业率(4.5%是有意义的)。当然,有时我会用数百万或数十亿美元在y轴上绘制东西(但这是一个单独的问题) 更新:我发现安全规则禁止电子表格中的宏。通过设置一个值,可以在没有宏的情况下完成吗?也许这是供应商(Microsoft)在未来几年会做的事情……右键单击要更改的Y轴。转到“格

如果我正在处理数百个图形,它们现在正在自动设置y轴,那么我如何消除10.0%、20.0%,并将其简化为10%、20%(节省2个字符)?我使用的是Excel 2010,不想弄乱自动格式,因为有时我需要小数点后的百分比,比如失业率(4.5%是有意义的)。当然,有时我会用数百万或数十亿美元在y轴上绘制东西(但这是一个单独的问题)


更新:我发现安全规则禁止电子表格中的宏。通过设置一个值,可以在没有宏的情况下完成吗?也许这是供应商(Microsoft)在未来几年会做的事情……

右键单击要更改的Y轴。转到“格式化轴”,然后单击“编号”。在这里,您可以选择所需的格式类型(记帐、数字、百分比等)。只需选择“百分比”并将“0”作为“小数点”

对工作表中的所有图表执行此操作的宏:

Sub Macro2()
Dim obj     As Object
For Each obj In ActiveSheet.ChartObjects
    With obj.Chart.Axes(xlValue)
       .TickLabels.NumberFormat = "0%"
    End With
Next obj

End Sub

好的,谢谢,但这里的关键短语是“我正在处理数百个图表”。我不想/无法获得100%的图形,所以有没有一种方法可以让Excel自动做到这一点,也许是使用宏(关键字之一)。我发现了一个制度性的障碍,即(正如我在更新中提到的):出于安全原因,宏是被禁止的。也许这会毁了我的这个问题,尤其是对于这样一个小的/美学的修复。哦-是的,没有使用宏的能力,我不确定是否有更快的方法。在创建图表之前,我想看看是否可以更改Y轴的默认格式。