Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用VBA创建图表,然后使其成为活动图表_Excel_Vba - Fatal编程技术网

Excel 使用VBA创建图表,然后使其成为活动图表

Excel 使用VBA创建图表,然后使其成为活动图表,excel,vba,Excel,Vba,我有以下代码来生成面积图 Sub Create_Area_Chart() Worksheets("My_Sheet").Activate Dim rng As Range Dim cht As ChartObject Dim rng1 As Range Set rng1 = Union(Range("D13:BU13"), Range("C15:BU22")) rng

我有以下代码来生成面积图

Sub Create_Area_Chart()

    Worksheets("My_Sheet").Activate
    
    Dim rng As Range
    Dim cht As ChartObject
    Dim rng1 As Range
    
    Set rng1 = Union(Range("D13:BU13"), Range("C15:BU22"))
    rng1.Select
    'Create a chart
    
    Set cht = ActiveSheet.ChartObjects.Add( _
        Left:=ActiveCell.Left, _
        Width:=450, _
        Top:=ActiveCell.Top, _
        Height:=250)
    
    'Give chart some data
      cht.Chart.SetSourceData Source:=rng1
    
    End Sub
基本上,一旦我创建了图表,我想做的就是选择图表并按下“切换行/列”按钮

我看着它,被告知我可以用下面的代码来实现

Sub Macro1()
    ActiveSheet.ChartObjects("Chart 1").Activate
    ActiveChart.PlotBy = xlColumns
   End Sub

我的问题是我不知道我刚刚创建的图表的名称。因此,我想知道是否有办法获得我刚刚生成的图表的名称,或者是否有办法使其成为我的活动图表,这样我就可以使用我在上面粘贴的代码。

如果使用相同的“Macro1”代码进行操作,您不需要它的名称。图表对象是
cht
。但是,如果您打算在第二步中执行此操作,则应在创建后将其命名为:
cht.name=“MyChart”
,然后在任何
子项中使用此名称。。。