【问题标题】:Using VBA to create charts with data labels based on cell values使用 VBA 根据单元格值创建带有数据标签的图表
【发布时间】:2018-05-09 18:30:39
【问题描述】:

我是 VBA 的新手,希望得到一些指导。我想使用一个宏,在按下按钮时创建一个图表

  1. 基于用户选择的范围(如下图所示)
  2. 在新工作表上
  3. 将 x 轴数据标签设置为标题的顶行(蓝色范围)
  4. 根据数据左侧的三个组标签设置系列标签。 (橙色范围)

到目前为止,我所做的只是第一个,基于this answer,得到以下代码:

Sub CommandButton1_Click()
    createChart
End Sub

Sub createChart()
    Dim myRange As Range
    Set myRange = Selection

    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=myRange

    Cells(1, 1).Select
End Sub

谁能告诉我如何更改此代码以在新工作表上创建图表,并在给定的单元格范围内使用数据和系列标签?如果需要,我可以将这些分成不同的问题。谢谢。

【问题讨论】:

  • 在这些情况下,首先要做的是在执行您刚才描述的操作时录制宏。这将产生一些您可以放入自己的代码中的代码。
  • 可能类似于ActiveChart.Location Where:=xlLocationAsObject, Name:="{SheetName}"
  • @Sam 这真的很有帮助,我已经使用您的方法研究了如何动态格式化轴标签、系列标签和标题。我仍然无法解决的是如何将图表放在单独的工作表上。
  • @Jiggles32 我尝试了您建议的代码,但它仅适用于现有工作表。我想创建一个新工作表并将图表放在那里。
  • 我认为ActiveChart.Location Where:=xlLocationAsNewSheet是你想要的

标签: vba excel charts


【解决方案1】:

感谢 Sam,我能够编写出我需要的代码。

Sub createChart()

    Dim myRange As Range
    Set myRange = Selection

    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=myRange

    Dim SheetName As String
    SheetName = Cells(myRange.Row, 2).Value
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:=SheetName

    ActiveChart.FullSeriesCollection(1).XValues = "=Scores!$E$1:$I$1"

    Dim i As Integer

    For i = 1 To ActiveChart.FullSeriesCollection.Count
        ActiveChart.FullSeriesCollection(i).Name = "=Scores!$C" & myRange.Row + i - 1
    Next

    ActiveChart.SetElement (msoElementChartTitleAboveChart)
    ActiveChart.ChartTitle.Select
    ActiveChart.ChartTitle.Text = "=Scores!$A" & myRange.Row

End Sub

这让我可以选择范围,单击按钮,然后在包含我需要的所有数据标签的新工作表中创建图表。下次我需要创建基于图表的宏时,这真的可以帮助我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 2013-04-12
    • 1970-01-01
    • 1970-01-01
    • 2022-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多