首页 > 解决方案 > 格式化数据标签_DataLabelselection.NumberFormat = "#,##0.00"

问题描述

我无法使用 .NumberFormat = "#,##0.00" 格式化标签(数字)。请让我知道错误在哪里。

 Set ch = ActiveSheet.ChartObjects("Chart 1")
 Set sh = Worksheets("Rounding")
 ch.Activate
 ActiveChart.SeriesCollection(1).ApplyDataLabels
 ActiveChart.SeriesCollection(1).Points(1).DataLabel.Text = sh.Range("b2")          
 ActiveChart.SeriesCollection(1).DataLabels.Select
 ActiveChart.SeriesCollection(1).DataLabel.Selection.NumberFormat = "#,##0.00"

标签: vba

解决方案


尽可能避免选择和激活。

您正在尝试将 NumberFormat 应用于DataLabels集合而不是DataLabel. 省略Selection它不是DataLabelor 的方法DataLabels

应该这样做:

Set sh = Worksheets("Rounding")
With sh.ChartObjects("Chart 1").Chart
    .SeriesCollection(1).ApplyDataLabels
    .SeriesCollection(1).Points(1).DataLabel.Text = FormatNumber(sh.Range("b2").Value)
    .SeriesCollection(1).DataLabels.NumberFormat = "#,##0.00"
End With

推荐阅读