select两列并在VBA中创build图表

嗨,我很新的VBA。 我试图创build一个图表与两列A1:A10,C1:C10(即A和C)的值。我用鼠标select这两列,当我尝试macros代码,我得到以下错误“运行时错误1004,应用程序错误或对象定义的错误“。 但是我能够创build图表,当我select列A和B(即A1:B10)。 需要一些build议。

这是我的代码:

Sub Chart() Dim rng As Range Set rng = Selection ActiveSheet.Shapes.AddChart.Select ActiveChart.SetSourceData Source:=rng ActiveChart.ChartType = xlColumnClustered End Sub 

这对我有用

 Sub Sample() Dim ws As Worksheet Dim rng As Range Dim objChrt As ChartObject Dim chrt As Chart Set ws = ThisWorkbook.Sheets("Sheet1") With ws Set rng = .Range("A1:A10,C1:C10") .Shapes.AddChart Set objChrt = .ChartObjects(.ChartObjects.count) Set chrt = objChrt.Chart With chrt .ChartType = xlColumnClustered .SetSourceData Source:=rng End With End With End Sub 

或者如果你仍然想使用.Selection然后使用这个

 Sub Sample() Dim ws As Worksheet Dim rng As Range Dim objChrt As ChartObject Dim chrt As Chart '~~> Check if what the user selected is a valid range If TypeName(Selection) <> "Range" Then MsgBox "Select a range first." Exit Sub End If Set ws = ThisWorkbook.Sheets(Selection.Parent.Name) With ws Set rng = Selection .Shapes.AddChart Set objChrt = .ChartObjects(.ChartObjects.count) Set chrt = objChrt.Chart With chrt .ChartType = xlColumnClustered .SetSourceData Source:=rng End With End With End Sub