我无法理解为什么我的简单代码不起作用。我所要做的就是使用我自己的范围变量插入图表,因为我记得代码应该运行但我得到一个1004错误:应用程序定义或对象定义错误。
可能是什么问题?
编辑:更改wRange对象的启动以使其合格。错误仍然在发生
代码 编辑:在所有评论之后更新了代码
Private Sub tester()
Dim wSheet As Worksheet: Set wSheet = ThisWorkbook.Worksheets("MainWindow")
Dim wShape As Shape
Dim wRange As Range: Set wRange = wSheet.Range("A26")
Set wShape = wSheet.Shapes.AddChart2(201, xlColumnClustered, wSheet.Range(wRange).Left, wSheet.Range(wRange).Top, _
wSheet.Range(wRange, wRange.Offset(0, 20)).Width, wSheet.Range(wRange, wRange.Offset(19, 0)).Height)
'Original code that I'm trying to modify, this one works without errors in a classmodule
' Set wshape = wst.Shapes.AddChart2(201, xlColumnClustered, wst.Range("A26").Left, wst.Range("A26").Top, _
' wst.Range("A26:U26").Width, wst.Range("A26:A45").Height)
End Sub
答案 0 :(得分:2)
我建议使用良好的编程习惯并在上下文中使用代码:
Dim wSheet As Worksheet: Set wSheet = ThisWorkbook.WorkSheets("SheetName")
Dim wRange As Range: Set wRange = wSheet.Range("A26")
请参阅:Range Object
<强> [编辑] 强>
@uncool,谢谢你的澄清。
您需要选择要放置图表的范围。所以......
Set wRange = wSheet.Range("A26:C40")
wRange.Select
'here code to add chart
现在,您应该能够添加新图表;)