Excel图表在VBA中未被识别为图表

时间:2017-08-24 17:24:38

标签: excel vba charts

我正在尝试在VBA中添加图表,但在我的工作簿中,它将我的图表识别为工作表。如何将Sheet2保存为VBA可识别的图表?

1 个答案:

答案 0 :(得分:1)

你说,"但在我的工作簿中,它将我的图表识别为表格"。您可能对Excel中的两种常见图表有一些混淆:图表位于各自的单独图纸上,图表对象嵌入常规工作表中。如果将一些数据放在名为" Sheet1"的工作表的A列和B列中,则下面的代码将在该表中创建一个图表对象,然后将其移动到它自己的图表表格中,然后再将其移回Sheet1。如果这没有解决您的问题,请提供更多详细信息。

Option Explicit
Sub chartTypes()
Dim r As Range, chObj As ChartObject, sh As Worksheet
Set sh = Worksheets("Sheet1")
Set r = sh.UsedRange
Set chObj = ActiveSheet.ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225)
  With chObj
    .Chart.ChartType = xlXYScatterLines
    .Chart.SetSourceData Source:=r
    'move chart to a chart sheet
    .Chart.Location Where:=xlLocationAsNewSheet
  End With
ActiveSheet.Name = "newChart"
'move chart back to sheet
ActiveChart.Location Where:=xlLocationAsObject, Name:=sh.Name
End Sub