Excel 2003:VBA语法导致Excel 2010出现问题-备选方案?

Excel 2003:VBA语法导致Excel 2010出现问题-备选方案?,vba,excel,Vba,Excel,我有一个旧的VBA脚本(Office2003)需要修复,它在Office2010中失败。 这个问题似乎是由用于引用工作表和单元格的语法引起的 ActiveChart.SeriesCollection(1).XValues = _ "=EP!Z1S2:Z1S" & Mid(Str(Schritte + 2), 2) With ActiveChart.SeriesCollection(1) .Values = "=EP!Z3S2:Z3S" & Mid(

我有一个旧的VBA脚本(Office2003)需要修复,它在Office2010中失败。 这个问题似乎是由用于引用工作表和单元格的语法引起的

ActiveChart.SeriesCollection(1).XValues = _
    "=EP!Z1S2:Z1S" & Mid(Str(Schritte + 2), 2)

    With ActiveChart.SeriesCollection(1)
       .Values = "=EP!Z3S2:Z3S" & Mid(Str(Schritte + 2), 2)
       .Name = "=EP!Z3S1"
    End With
除了使用“=Sheet!CellRange”,还有其他选择吗?
或者,可以通过更改Office/Excel中的某些配置来解决此问题吗?

您需要提供编码的单元格范围和/或,可能需要使用


当我使用严格描述范围的字符串创建图表时,收到编译错误:类型不匹配。当我将字符串包装在
范围内
或使用
单元格更直接地引用它们时
问题就消失了,生成了图表。

它是如何失败的?有错误信息吗?Schritte持有什么价值?是的。出现一条VBA错误消息,说明:“运行时-错误1004,应用程序或对象定义错误”…?:-|。。。脚本停止。这些单元格引用似乎是非EN US xlR1C1样式。2010年使用的是什么语言包,2003年使用的是什么语言包?@Jeeped:这是一个通过输入框询问的整数。例如:11=>“=EP!Z3S2:Z3S13”。我想没关系。脚本停止(在Excel 2010中)似乎是由使用的语法引起的。非常感谢您的努力和时间。我真的很感激。
dim ws as worksheet
set ws = worksheets("EP")

ActiveChart.SeriesCollection(1).XValues = _
  ws.range("Z1S2:Z1S" & Mid(Str(Schritte + 2), 2))

With ActiveChart.SeriesCollection(1)
   .Values = ws.cells(3, 2).resize(1, int(Mid(Str(Schritte + 2), 2)))    '=EP!Z3S2:Z3S" & Mid(Str(Schritte + 2), 2)
   .Name = ws.cells(3, 1)    '=EP!Z3S1
End With