【问题标题】:VBA placing chart into a different sheetVBA将图表放入不同的工作表
【发布时间】:2015-12-21 01:10:40
【问题描述】:

我有两个工作表。一个包含源数据的工作表和另一个工作表(“相关图表”)是我希望图表所在的位置。下面是我的代码。但是,它仍然在源数据表中绘制图表,而不是在我设置范围的位置。

   Worksheets.Add.Name = "Correlation Charts"

   Set myChart1 = Sheets("Correlation Charts").Range("A3:H16")

   Worksheets("Summary").Activate

    Application.Union(xValue1, yValue1).Select
    With ActiveSheet.Shapes
        .AddChart2(240, xlXYScatter, myChart1.Left, myChart1.Top, myChart1.Width, _
           myChart1.Height).Select
    End With
    With ActiveChart
        .ChartTitle.Text = Range("Correl1_yValue") & " " & "vs." & " " & Range("Correl1_xValue")
    End With

【问题讨论】:

  • @DirkReichel Chart1.Shapes 不起作用,我收到错误消息。我需要激活摘要表以选择图表所需的两列数据。
  • With Sheets("Correlation Charts").Shapes 而不是With ActiveSheet.Shapes

标签: excel charts vba


【解决方案1】:

尝试在With ActiveSheet.Shapes 部分之前添加Worksheets("Correlation Charts").Activate

【讨论】:

  • 我认为问题在于您将 Chart2 添加到活动工作表中,该工作表恰好是“摘要”选项卡而不是“相关图表”选项卡。
  • 引用 OP:我需要激活摘要表来选择图表所需的两列数据。
【解决方案2】:

创建图表后,您还可以使用:

ActiveChart.Location Where:=xlLocationAsNewSheet

要获得仅包含图表的新工作表...或者如果您希望在已创建的工作表中使用它:

ActiveChart.Location Where:=xlLocationAsObject, Name:="Correlation Charts"

虽然您也可以在任何地方创建图表并在之后更改源数据...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多