将VBA中的图表范围设置为变量

问题描述 投票:0回答:1

我试图设置一个范围变量的定义,然后使用此范围变量作为Excel图表的源。但是当我在Set rng =运行我的宏时,我得到了Object Required Error

 Sub temp3()
'
' temp3 Macro
'
    Dim rng As Range
    Range("A1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Set rng = Range(Selection, Selection.End(xlToRight)).Select

    ActiveSheet.Shapes.AddChart2(332, xlLineMarkers).Select
    ActiveChart.SetSourceData Source:=rng
End Sub
excel vba
1个回答
2
投票

不要使用.Select

 Sub temp3()
'
' temp3 Macro
'
    Dim rng As Range
    Dim shp As Chart
    With Worksheets("Sheet1") 'Change to your sheet
        Set rng = .Range("A1", .Range("A1").End(xlDown).End(xlToRight))

        Set shp = Charts.Add
        Set shp = shp.Location(Where:=xlLocationAsObject, Name:=.Name)
        With shp
            .ChartType = xlLineMarkers
            .SetSourceData rng
        End With
    End With
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.