我有一个较旧的VBA脚本(Office 2003)进行了修复,该脚本在Office 2010中失败。该问题似乎是由用于引用工作表和单元格的语法引起的。
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中的某些配置来解决问题?
您需要将单元格范围提供为编码的Range对象和/或Range.Cells属性,并可能提供Range.Resize属性。
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
当我使用描述范围的严格字符串创建图表时,收到编译错误:Type mismatch。一旦将字符串包装Range
或直接引用它们.Cells
,问题就消失了,并生成了图表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句